@charset "UTF-8";

/* ==========================================================================
   common
   ========================================================================== */

/* @font-face (google noto jp)
   ========================================================================== */

/* Noto Sans CJK JP */
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 100;
src: local('Noto Sans CJK JP Thin'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff2) format('woff2'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 300;
src: local('Noto Sans CJK JP Light'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff2) format('woff2'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 350;
src: local('Noto Sans CJK JP DemiLight'),
url(/fonts/notojpsub/NotoSansJP-DemiLight.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSansJP-DemiLight.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 400;
src: local('Noto Sans CJK JP Regular'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 500;
src: local('Noto Sans CJK JP Medium'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff2) format('woff2'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 700;
src: local('Noto Sans CJK JP Bold'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format('woff2'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans CJK JP';
font-style: normal;
font-weight: 900;
src: local('Noto Sans CJK JP Black'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff2) format('woff2'),
url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff) format('woff');
font-display: swap;
}

/* Noto Serif CJK JP */
@font-face {
font-family: 'Noto Serif CJK JP';
font-style: normal;
font-weight: 200;
src: local('Noto Serif CJK JP ExtraLight'),
url(/fonts/notojpsub/NotoSerifJP-ExtraLight.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSerifJP-ExtraLight.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Serif CJK JP';
font-style: normal;
font-weight: 300;
src: local('Noto Serif CJK JP Light'),
url(/fonts/notojpsub/NotoSerifJP-Light.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSerifJP-Light.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Serif CJK JP';
font-style: normal;
font-weight: 400;
src: local('Noto Serif CJK JP Regular'),
url(/fonts/notojpsub/NotoSerifJP-Regular.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSerifJP-Regular.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Serif CJK JP';
font-style: normal;
font-weight: 500;
src: local('Noto Serif CJK JP Medium'),
url(/fonts/notojpsub/NotoSerifJP-Medium.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSerifJP-Medium.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Serif CJK JP';
font-style: normal;
font-weight: 600;
src: local('Noto Serif CJK JP SemiBold'),
url(/fonts/notojpsub/NotoSerifJP-SemiBold.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSerifJP-SemiBold.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Serif CJK JP';
font-style: normal;
font-weight: 700;
src: local('Noto Serif CJK JP Bold'),
url(/fonts/notojpsub/NotoSerifJP-Bold.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSerifJP-Bold.woff) format('woff');
font-display: swap;
}
@font-face {
font-family: 'Noto Serif CJK JP';
font-style: normal;
font-weight: 900;
src: local('Noto Serif CJK JP Black'),
url(/fonts/notojpsub/NotoSerifJP-Black.woff2) format('woff2'),
url(/fonts/notojpsub/NotoSerifJP-Black.woff) format('woff');
font-display: swap;
}



/* reset
   ========================================================================== */

html { height: 100%; font-size: 62.5%; margin: 0; padding: 0; border: none; outline: none; vertical-align: baseline; background: transparent; }
body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, main, menu, nav, section, summary, button,
time, mark, audio, video { margin: 0; padding: 0; border: none; outline: none; vertical-align: baseline; background: transparent; }
body { height: 100%; color: #595757; font-family: 'Noto Sans CJK JP', sans-serif; font-size: 1.4rem; font-feature-settings: normal; line-height: 1; background-color: #fff; position: relative; -webkit-text-size-adjust: 100%; }
body, input, textarea, legend { color: #595757; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
input, select, textarea { padding: 0; margin: 0; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section { display: block; }
nav ul { list-style: none; }
li { list-style-position: outside; }
ul li { list-style-type: none; }
ol li { list-style-type: none; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after,
q::before, q::after { content: ''; }
a { margin: 0; padding: 0; vertical-align: baseline; background: transparent; }
a, a img { border: none; }
a:link,
a:visited,
a:hover,
a:active { color: #595757; text-decoration: none; }
a:focus { outline: none; }
a, label { cursor: pointer; }
address, optgroup, cite { font-style: normal; }
abbr { border-bottom: .1em dotted; cursor: help; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
th, td { text-align: left; vertical-align: top; border: 1px solid #000; }
caption { text-align: left; }
input, select { vertical-align: middle; border-radius: 0; }
em { font-style: normal; }
pre { overflow-x: auto; }
textarea { width: 99%; overflow: auto; }
iframe { display: block; width: 100%; overflow: hidden; }
sup { font-size: 1rem; vertical-align: baseline; position: relative; bottom: .7em; }
sub { font-size: 1rem; vertical-align: baseline; position: relative; top: .1em; }
img { vertical-align : middle; }



/* utilities
   ========================================================================== */

/* font size */
.px9 { font-size: .9rem; }
.px10 { font-size: 1rem; }
.px11 { font-size: 1.1rem; }
.px12 { font-size: 1.2rem; }
.px13 { font-size: 1.3rem; }
.px14 { font-size: 1.4rem; }
.px15 { font-size: 1.5rem; }
.px16 { font-size: 1.6rem; }
.px17 { font-size: 1.7rem; }
.px18 { font-size: 1.8rem; }
.px19 { font-size: 1.9rem; }
.px20 { font-size: 2rem; }
.px21 { font-size: 2.1rem; }
.px22 { font-size: 2.2rem; }
.px23 { font-size: 2.3rem; }
.px24 { font-size: 2.4rem; }
.px25 { font-size: 2.5rem; }
.px26 { font-size: 2.6rem; }
.px27 { font-size: 2.7rem; }
.px28 { font-size: 2.8rem; }
.px29 { font-size: 2.9rem; }
.px30 { font-size: 3rem; }
.px31 { font-size: 3.1rem; }
.px32 { font-size: 3.2rem; }
.px33 { font-size: 3.3rem; }
.px34 { font-size: 3.4rem; }
.px35 { font-size: 3.5rem; }
.px36 { font-size: 3.6rem; }

/* noto font weight */
.noto100 { font-weight: 100; }
.noto200 { font-weight: 200; }
.noto300 { font-weight: 300; }
.noto350 { font-weight: 350; }
.noto400 { font-weight: 400; }
.noto500 { font-weight: 500; }
.noto600 { font-weight: 600; }
.noto700 { font-weight: 700; }
.noto900 { font-weight: 900; }

/* handy */
.left { float: left; }
.right { float: right; }
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
.sub { font-size: smaller; font-weight: lighter; }
.disabled { cursor: default; pointer-events: none; opacity: .25; }
.no-margin { margin: 0; }
.no-margin-top { margin-top: 0; }
.no-wrap { white-space: nowrap; }

.sans { font-family: 'Noto Sans CJK JP', sans-serif; }
.serif { font-family: 'Noto Serif CJK JP', serif; }
.smaller { font-size: smaller; }
.larger { font-size: larger; }
.lighter { font-weight: lighter; }
.bolder { font-weight: bolder; }

.object-fit { font-family: 'object-fit: cover;' } /* ie11 */

/* clearfix */
.wrapper::after { content: ''; display: block; clear: both; }

/* replace text */
.replace { display: block; color: rgba(0, 0, 0, 0); text-align: center; overflow: hidden; position: relative; }
a.replace:link, a.replace:visited, a.replace:hover, a.replace:active, a.replace:focus { color: rgba(0, 0, 0, 0); }
.replace::after { content: ''; display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-color: transparent; background-position: 0 0; background-size: contain; position: absolute; left: 0; top: 0; z-index: 1; }



/* ==========================================================================
   styled
   ========================================================================== */

.styled h4 { display: flex; margin: 0 auto 10px; }
.styled h4 span { font-family: 'Noto Serif CJK JP'; font-size: 1.5rem; font-weight: 500; line-height: 1.3; }
.styled h4 .sub { font-weight: 500; padding-right: 5px; }

.styled h5 { font-size: 1.4rem; font-weight: 700; line-height: 1; margin-bottom: 16px; }
.styled h6 { color: #ea5504; font-size: 1.3rem; font-weight: 500; line-height: 1.3; margin-top: 15px; margin-bottom: 15px; }

.styled p { font-size: 1.3rem; font-weight: 350; line-height: 1.8; margin-bottom: 32px; font-feature-settings: normal; }
.styled p.lead { font-size: 1.6rem; font-weight: 500; line-height: 1.6; font-feature-settings: 'palt'; }
.styled p.enlarged { font-size: 2.6rem; font-feature-settings: 'palt'; }

.styled p strong { font-weight: 700; }
.styled p.signature { text-align: right; }
.styled p.signature span { display: inline-block; text-align: left; }

.styled ul,
.styled ol,
.styled dl { margin-bottom: 32px; }
.styled dl dt { font-size: 1.4rem; font-weight: 350; line-height: 1; border-bottom: 1px solid #ea5504; padding-bottom: 10px; margin-bottom: 5px; }
.styled ul li,
.styled ol li,
.styled dl dd { font-size: 1.3rem; font-weight: 350; line-height: 1.4; margin-bottom: 10px; }
.styled ul li span,
.styled ol li span,
.styled dl dd span { display: inline-block; vertical-align: top; width: calc(100% - 20px); }
.styled ul li:last-child,
.styled ol li:last-child,
.styled dl dd:last-child { margin-bottom: 0; }
.styled ul li::before,
.styled dl dd::before { content: '●'; display: inline-block; width: 20px; }
.styled ol li:nth-child(1)::before { content: '①'; display: inline-block; width: 20px; }
.styled ol li:nth-child(2)::before { content: '②'; display: inline-block; width: 20px; }
.styled ol li:nth-child(3)::before { content: '③'; display: inline-block; width: 20px; }
.styled ol li:nth-child(4)::before { content: '④'; display: inline-block; width: 20px; }
.styled ol li:nth-child(5)::before { content: '⑤'; display: inline-block; width: 20px; }
.styled ol li:nth-child(6)::before { content: '⑥'; display: inline-block; width: 20px; }
.styled ol li:nth-child(7)::before { content: '⑦'; display: inline-block; width: 20px; }
.styled ol li:nth-child(8)::before { content: '⑧'; display: inline-block; width: 20px; }
.styled ol li:nth-child(9)::before { content: '⑨'; display: inline-block; width: 20px; }
.styled ol li:nth-child(10)::before { content: '⑩'; display: inline-block; width: 20px; }

.styled a,
.styled a span { font-weight: bolder; text-decoration: underline; }
.styled strong a,
.styled strong a span { font-weight: 700; }
.styled a span { text-decoration: underline; }
.styled a.out span { display: inline-block; background: url(/media/common/icon_out.svg) no-repeat right center; background-size: 13px; padding-right: 25px; }
.styled a.pdf span { display: inline-block; background: url(/media/common/icon_pdf.svg) no-repeat right center; background-size: 11px; padding-right: 25px; }
.styled a.button.out { background: none; padding-right: 16px; }
.styled a.button span { font-weight: 350; text-decoration: none; }

.styled table caption { color: #ea5504; font-size: 1.4rem; font-weight: 700; line-height: 1; margin-bottom: 12px; }
.styled table th,
.styled table td { display: block; border: none; border-bottom: 1px solid #707070; padding: 7px 0; }
.styled table th { font-size: 1.4rem; font-weight: 700; line-height: 1.4; border: none; }
.styled table td { font-size: 1.3rem; font-weight: 500; line-height: 1.6; }
.styled table tr:first-child th { border-top: 1px solid #707070; }
.styled table th > .sub,
.styled table td > .sub { display: block; font-size: 1.1rem; font-weight: 300; line-height: 1.6; }
.styled table .buttons { text-align: center; }

.styled .boxed { border: 1px dotted #707070; padding: 20px; box-sizing: border-box; margin: 30px auto; }
.styled .boxed p { margin-bottom: 0; }

.styled > figure { display: table; width: 100%; margin: 30px 0; }
.styled .section-body > figure:first-child,
.styled .section-body > p.lead + figure,
.styled .section-body > h5 + figure { margin-top: 0; }
.styled .boxed > figure + p { margin-top: 30px; }
.styled figure.left,
.styled figure.right { float: none; max-width: 100%; height: auto; text-align: center; }
.styled figure.no-margin-top { margin-top: 0; }
.styled figure.left img,
.styled figure.right img { max-width: 100%; }
.styled figcaption { font-size: 1.1rem; font-weight: 350; line-height: 1.8; word-wrap: break-word; margin-top: 10px; }
.styled img.bordered { border: 1px solid #707070; box-sizing: border-box; }

.styled .boxed { border: 1px dotted #707070; padding: 20px; box-sizing: border-box; margin: 30px auto; }
.styled .boxed > figure { margin: 30px 0; }
.styled .boxed > h5:first-child { margin-bottom: 32px; }
.styled .boxed p { margin-bottom: 0; }
.styled .boxed > figure:first-child,
.styled .boxed > p.lead + figure,
.styled .boxed > h5 + figure { margin-top: 0; }
.styled .boxed > figure + p { margin-top: 30px; }
.styled .boxed figure.left,
.styled .boxed figure.right,
.styled .boxed figure.left img,
.styled .boxed figure.right img { max-width: 100%; }



/* ==========================================================================
   outline
   ========================================================================== */

div.body { width: 100%; min-width: 320px; font-feature-settings: 'palt'; }

header { width: 100%; min-width: 320px; background-color: #fff; opacity: 1; z-index: 10; }

main { margin-top: 54px; }



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

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

header.common { display: none; }

header.mobile { min-width: 320px; height: 54px; box-shadow: 0px 1px 1px rgba(0, 0, 0, .1); opacity: .95; position: fixed; top: 0; }

header.mobile nav.main ul { width: calc(100% - 54px); display: flex; justify-content: space-between; align-items: center; padding-left: 8px; }

header.mobile nav.main .nav.logo { flex: 1 0 120px; }
header.mobile nav.main .nav.logo a { width: 120px; height: 22px; }
header.mobile nav.main .nav.logo a.replace::after { background-image: url(/media/common/logo_header.svg); }
header.mobile nav.main .nav.contact { flex: 0 0 43px; margin-right: 20px; }
header.mobile nav.main .nav.contact a { width: 43px; height: 27px; }
header.mobile nav.main .nav.contact a.replace::after { background-image: url(/media/common/icon_contact.svg); }

header.mobile nav.main .nav.search { flex: 0 0 40px; height: 54px; margin-right: 15px; }
header.mobile nav.main .nav.search .inner { min-width: 40px; height: 100%; position: relative; }
header.mobile nav.main .nav.search input.text { display: block; width: 0px; height: 40px; color: #000; font-size: 2rem; font-weight: 500; line-height: 1; outline: none; cursor: pointer; background: none; border: none; padding: 5px 50px 5px 0; box-sizing: border-box; position: absolute; top: 8px; right: 0; z-index: 3; transition: width .4s cubic-bezier(0.000, 0.795, 0.000, 1.000); }
header.mobile nav.main .nav.search input.text:focus { cursor: text; border-bottom: 2px solid #ea5504; background-color: #fff; z-index: 1; }
header.mobile nav.main .nav.search input.text::placeholder { color: rgba(89, 87, 87, .25); font-weight: 300; }
header.mobile nav.main .nav.search input.text::-webkit-input-placeholder { color: rgba(89, 87, 87, .25); font-weight: 300; }
header.mobile nav.main .nav.search input.submit { display: block; width: 40px; height: 40px; font-size: 0; cursor: pointer; background: url(/media/common/icon_search.svg) center center no-repeat; background-size: 20px; border: none; position: absolute; top: 8px; right: 0; z-index: 2; opacity: 1; }

.hamburger { width: 54px; height: 54px; left: auto; right: 0; padding: 0; display: flex; justify-content: center; align-items: center; }
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after { display: block; width: 16px; height: 2px; background-color: #595757; }
.fat-nav li { text-align: left; padding: 0; margin: 0 40px; font-size: 1.6rem; border-bottom: 1px solid #fff; }
.fat-nav li a { display: block; background: url(/media/common/arrow_next_w.svg) no-repeat right center; background-size: auto 16px; padding: 16px 20px 16px 0; }
.fat-nav li a span { display: block; font-weight: 350; line-height: 1; }
@media (orientation: landscape) {
.fat-nav ul { padding: 30px 54px 30px 0; }
.fat-nav li { margin-right: 0; }
}



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

footer .copy { font-size: 1rem; font-weight: 400; text-align: center; padding: 20px; }
footer nav.sub { display: none; }

footer .group { margin-top: 10px; }

footer .group nav ul { display: flex; flex-wrap: wrap; border-top: 1px solid #b7b7b7; border-bottom: 1px solid #b7b7b7; }
footer .group nav ul li { width: 50%; border-left: 1px solid #b7b7b7; border-right: 1px solid #b7b7b7; border-bottom: 1px solid #b7b7b7; box-sizing: border-box; }
footer .group nav ul li:nth-child(2) { border-left: none; }
footer .group nav ul li:nth-child(3) { border-bottom: none; }
footer .group nav ul li:nth-child(4) { border-left: none; border-bottom: none; }
footer .group nav ul li a { display: block; height: 50px; background: url(/media/common/icon_out.svg) no-repeat calc(100% - 4px) center #fff; background-size: 13px; box-sizing: border-box; padding: 8px 18px 8px 8px; }
footer .group nav ul li.daiichi-houmu a,
footer .group nav ul li.daiichi-consulting a,
footer .group nav ul li.career-staff a { background-image: none; }
footer .group nav ul li a span { display: block; line-height: 1; }
footer .group nav ul li a .heading { font-size: 1.4rem; font-weight: 700; }
footer .group nav ul li a .sub { font-size: 1.2rem; font-weight: 350; margin-bottom: 5px; }

footer .group figure { width: 174px; margin: 0 0 10px calc(100% - 174px - 16px); position: relative; }
footer .group figure img { width: 174px; height: auto; }
footer .group figcaption { font-size: 1.2rem; font-weight: 350; text-align: center; position: absolute; bottom: 0; left: 10px; }

/* pagetop */
#pagetop { display: none; color: #fff; background: url(/media/common/arrow_up.svg) no-repeat #595757; background-size: 16px; box-sizing: border-box; position: fixed; right: 0; opacity: .6; z-index: 10; width: 50px; height: 50px; font-size: 0; line-height: 0; background-position: center center; bottom: 0; right: 0; }



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

body.top nav ul li.top a span,
body.advantage nav ul li.advantage a span,
body.service nav ul li.service a span,
body.customer nav ul li.customer a span,
body.customer-v2018 nav ul li.customer a span,
body.customer-v2022 nav ul li.customer a span,
body.employee nav ul li.employee a span,
body.news nav ul li.news a span,
body.company nav ul li.company a span,
body.saitama nav ul li.saitama a span,
body.privacy nav ul li.privacy a span,
body.policy nav ul li.policy a span,
body.ma-guideline nav ul li.ma-guideline a span { color: #ea5504; }



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

.button { height: 32px; display: inline-flex; justify-content: center; align-items: center; color: #595757; text-decoration: none; background-color: #fff; border-radius: 4px; padding: 8px 16px; box-sizing: border-box; box-shadow: 1px 1px 2px rgba(0, 0, 0, .2); margin: 0; }
.button span { font-size: 1.3rem; font-weight: 350; line-height: 1; background-repeat: no-repeat; background-position: right center; background-size: auto 13px; }

a.button { text-decoration: none; }
a.button.more span { background-image: url(/media/common/arrow_next.svg); padding-right: 20px; }
a.button.pdf span { background-image: url(/media/common/icon_pdf.svg); padding-right: 25px; }
a.button.out span { background-image: url(/media/common/icon_out.svg); padding-right: 25px; }

.badge { height: 20px; border: 1px solid #b7b7b7; border-radius: 4px; padding: 0 7px; box-sizing: border-box; display: inline-flex; justify-content: center; align-items: center; }
.badge span { font-size: 1.1rem; font-weight: 350; line-height: 1; }

.index-list ul { border-top: 1px solid #b7b7b7; }
.index-list ul li { font-size: 1.1rem; font-weight: 350; border-bottom: 1px solid #b7b7b7; }
.index-list ul li > a,
.index-list ul li > span { display: block; padding: 20px 16px; }
.index-list ul li .date,
.index-list ul li .category { display: inline-block; vertical-align: middle; }
.index-list ul li .date { margin-right: 11px; }
.index-list ul li .heading { display: block; line-height: 1.6; margin-top: 7px; }
.index-list ul li a .heading { background-image: url(/media/common/arrow_next.svg); background-repeat: no-repeat; background-position: right center; background-size: auto 13px; padding-right: 20px; }
.index-list ul li a.out .heading { background-image: url(/media/common/icon_out.svg); }
.index-list ul li a.pdf .heading { background-image: url(/media/common/icon_pdf.svg); }
.index-list ul li a.out .heading,
.index-list ul li a.pdf .heading { background-size: auto 18px; }
.index-list ul li a.seminar .badge { border: none; background-color: #ea5504; }
.index-list ul li a.seminar .badge span { color: #fff; }

/* service tiles */
.tiles { width: 320px; display: flex; justify-content: space-between; align-content: space-between; flex-wrap: wrap; margin: 0 auto; }
.tiles .tile { width: 106px; height: 80px; position: relative; display: flex; justify-content: center; align-items: center; margin-bottom: 1px; }
.tiles .tile.long { width: 213px; }
/* .mas .tiles .tile,
.tiles .tile.service-13 { width: 320px; } */
.tiles .tile > span { width: 100%; height: 100%; overflow: hidden; cursor: pointer; text-align: center; position: absolute; display: flex; flex-direction: column; justify-content: center; align-items: center; top: 0; left: 0; }
.tiles .tile .heading { color: #fff; font-size: 1.4rem; font-weight: 700; line-height: 1.8; }
.tiles .tile .sub .summary { display: none; }
.tiles .tile .sub .more { width: 100%; height: 18px; text-decoration: none; position: absolute; left: 0; bottom: 0; display: flex; justify-content: center; align-items: center; }
.tiles .tile .sub .more span { display: block; width: 100%; height: 9px; font-size: 0; background: url(/media/common/arrow_next_w.svg) no-repeat right 5px center; background-size: 9px; }
.tiles .tile.service-01 { background-color: #fd5959; }
.tiles .tile.service-02 { background-color: #ff7171; }
.tiles .tile.service-03 { background-color: #fa914f; }
.tiles .tile.service-04 { background-color: #ffbc3c; }
.tiles .tile.service-05 { background-color: #71c3ff; }
.tiles .tile.service-06 { background-color: #659bff; }
.tiles .tile.service-07 { background-color: #60ccab; }
.tiles .tile.service-08 { background-color: #9fd654; }
.tiles .tile.service-09 { background-color: #465ec3; }
.tiles .tile.service-10 { background-color: #b26ee5; }
.tiles .tile.service-11 { background-color: #b24343; }
.tiles .tile.service-12 { background-color: #c18472; }
.tiles .tile.service-13 { background-color: #ff719d; }
.tiles .tile.service-14 { background-color: #ea5504; }

/* service tiles: mas */
section.mas h2 { font-family: 'Noto Serif CJK JP'; font-size: 1.5rem; font-weight: 500; line-height: 1.2; text-align: center; }
section.mas .tiles { justify-content: center; align-content: center; }
section.mas .tile { background-color: #ea5504; }



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

/* article-header */
.article-header { margin-bottom: 30px; }
.article-header.billboard { min-height: 240px; position: relative; }
.article-header.billboard::before { content: ''; display: block; width: 100%; min-width: 320px; height: 240px; background-repeat: no-repeat; background-position: center center; background-size: cover; position: absolute; top: 0; left: 0; z-index: -1; }
.article-header.billboard.large,
.article-header.billboard.large::before { height: calc(100vh - 54px); }
@media (orientation: landscape) {
.article-header.billboard.large,
.article-header.billboard.large::before { height: calc(100vh + 154px); }
.article-header.billboard.large::before { background-position: top center; }
}

.article-header h1 { height: 100px; color: #fff; background: linear-gradient(to right, #595757 0%, rgba(119, 118, 118, .2) 100%); padding: 5px 16px; box-sizing: border-box; display: flex; align-items: center; }
.article-header h1 > svg { width: 70px; height: 80px; flex: 0 0 70px; fill: #ea5504; margin: 0 10px 0 -8px; }
.article-header h1 > svg text { font-family: 'Noto Serif CJK JP'; font-size: 1.7rem; font-weight: 500; fill: #fff; }
.article-header h1 > .text > span { display: block; }
.article-header h1 > .text > .heading { font-family: 'Noto Serif CJK JP', serif; font-size: 2.4rem; font-weight: 700; line-height: 1.2; }
.article-header h1 > .text > .heading > .sub { font-size: 2rem; }
.article-header h1 > .text > .sub { font-size: 1.3rem; font-weight: 700; line-height: 1.8; }
.article-header h1 > .text > .sub:first-child { margin-bottom: 3px; }
.article-header h1 > .text > .sub:last-child { margin-top: 3px; }
.article-header p.lead { color: #fff; font-size: 1.4rem; font-weight: 500; line-height: 1.6; background-color: #ea5504; padding: 15px 18px; box-sizing: border-box; }
.article-header p.lead br { display: none; }

/* article-body */
.article-body > p,
.article-body > h4,
.article-body > h5,
.article-body > h6,
.article-body > ul,
.article-body > ol,
.article-body > dl,
.article-body > blockquote,
.article-body > figure,
.article-body > form,
.article-body > table,
.article-body > .boxed { width: calc(100% - 32px); margin-left: auto; margin-right: auto; }

.article-body > p.lead br { display: none; }

.article-body > h2 { height: 110px; color: #fff; background: linear-gradient(to right, #595757 0%, rgba(89, 87, 87, 0) 100%); padding: 5px 16px; box-sizing: border-box; margin-bottom: 15px; display: flex; align-items: center; }
.article-body > h2 > svg { width: 70px; height: 80px; flex: 0 0 70px; fill: #ea5504; margin: 0 10px 0 -8px; }
.article-body > h2 > svg text { font-family: 'Noto Serif CJK JP'; font-size: 1.7rem; font-weight: 500; fill: #fff; }
.article-body > h2 > span > span { display: block; }
.article-body > h2 > .text > .heading { font-family: 'Noto Serif CJK JP', serif; font-size: 2.4rem; font-weight: 700; line-height: 1.2; }
.article-body > h2 > .text > .heading > .sub { font-size: 2rem; }
.article-body > h2 > .text > .sub { font-size: 1.3rem; font-weight: 700; line-height: 1.8; margin-top: 3px; }

.article-body.styled > h3 { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.1; margin: 32px 0 10px; }
.article-body.styled > h3 > .inner { padding-right: 8px; box-sizing: border-box; }
.article-body.styled > h3 > .inner span { display: inline-flex; align-items: center; min-height: 40px; background-color: #ea5504; border-radius: 0 20px 20px 0; padding-left: 16px; padding-right: 20px; box-sizing: border-box; }

.article-body .buttons { width: 100%; text-align: right; padding: 10px; box-sizing: border-box; margin: 0 auto; }

.article-body a.button.link { height: 26px; display: inline-flex; align-items: center; text-align: center; text-decoration: none; background-color: #ea5504; border-radius: 13px; box-shadow: 2px 2px 4px rgba(0, 0, 0, .2); padding: 8px 13px; box-sizing: border-box; margin: 0; }
.article-body a.button.link span { color: #fff; font-size: 1rem; font-weight: 500; line-height: 1; background-size: auto 10px; }



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

body.top footer .group { margin-top: 0; }
body.top footer .group figure { display: none; }

/* billboard */
body.top .billboard { margin: 0 auto 30px; position: relative; }

/* billboard: slide */
body.top .billboard .slide-prev,
body.top .billboard .slide-next { font-size: 0; line-height: 0; position: absolute; bottom: 0; display: block; width: 20px; height: 20px; padding: 0; margin: 0; cursor: pointer; color: transparent; border: none; outline: none; z-index: 1; background-repeat: no-repeat; background-position: center center; background-size: 30%;  background-color: #fff; }
body.top .billboard .slide-prev:focus,
body.top .billboard .slide-next:focus { opacity: .6; }
body.top .billboard .slide-prev { background-image: url(/media/common/arrow_slide_prev.svg); left: 0; }
body.top .billboard .slide-next { background-image: url(/media/common/arrow_slide_next.svg); right: 0; }

body.top .billboard .slick-dotted.slick-slider { margin-bottom: 0; }
body.top .billboard .slick-dots { bottom: 5px; }
body.top .billboard .slick-dots li button:before { color: #fff; font-size: 13px; line-height: 13px; opacity: 1; text-shadow: 0 0 1px #000; }
body.top .billboard .slick-dots li button:focus:before { color: #ea5504; }
body.top .billboard .slick-dots li.slick-active button:before { color: #ea5504; opacity: 1; }

/* billboard: contents */
body.top .billboard .slide { background: url(/media/top/mobile/billboard/top_billboard_00.svg) no-repeat center center #fff; background-size: contain; }

body.top .billboard .slide .image { width: 100vw; min-width: 320px; height: calc(100vh - 54px); min-height: 400px; }
body.top .billboard .slide .image img { width: 100%; height: 100%; object-fit: cover; }
body.top .billboard .slide .extras { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

body.top .billboard .slides .image img,
body.top .billboard .slides .extras,
body.top .billboard .slide-prev,
body.top .billboard .slide-next,
body.top .billboard .slides .slick-dots { opacity: 0; }
body.top .billboard .slides.appeared .image img,
body.top .billboard .slides.appeared .extras,
body.top .billboard .slides.appeared .slide-prev,
body.top .billboard .slides.appeared .slide-next,
body.top .billboard .slides.appeared .slick-dots { opacity: 1; }

body.top .billboard .slide .extras > p { color: #fff; text-shadow: 0px 3px 6px rgba(0, 0, 0, .16); padding: 0 25px; box-sizing: border-box; }
body.top .billboard .slide p.heading { font-family: 'Noto Serif CJK JP', serif; font-size: 3.2rem; font-weight: 700; line-height: 1.2; margin: 15px 0; }
body.top .billboard .slide p.sub { font-weight: 500; font-size: 1.4rem; line-height: 1.6; margin-top: 10px; }
body.top .billboard .slide p.sub br { display: none; }

body.top .billboard .slide .link { display: block; width: 84px; height: auto; position: absolute; left: 50%; transform: translateX(-50%); bottom: 50px; }
body.top .billboard .slide .link > .inner { position: relative; width: 100%; padding-top: 114%; }
body.top .billboard .slide .link > .inner > svg { width: 84px; height: 96px; position: absolute; top: 0; left: 0; filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, .2)); fill: #fff; }
body.top .billboard .slide .link > .inner > p { font-size: 1.1rem; font-weight: 350; line-height: 1.3; position: absolute; top: 40px; left: 21px; }
body.top .billboard .slide .link > .inner > p > span:last-child { display: block; background: url(/media/common/arrow_next.svg) no-repeat right 10px bottom 2px; background-size: 10px; }

/* billboard: daiichi-keiri-news */
body.top .billboard .slide.daiichi-keiri-news .extras { display: flex; flex-direction: column; justify-content: center; align-items: center; }
body.top .billboard .slide.daiichi-keiri-news .extras img { display: block; width: calc(100% - 100px); height: auto; }
body.top .billboard .slide.daiichi-keiri-news .extras .buttons { text-align: center; padding-top: 10px; }

/* billboard: customer */
body.top .billboard .slide.customer .extras { display: flex; justify-content: flex-end; align-items: flex-start; flex-direction: column; }
body.top .billboard .slide.customer .extras .buttons { padding: 20px 20px 0; margin-bottom: 50px; }

/* section */
body.top section h1 { display: flex; align-items: center; padding: 0 8px; box-sizing: border-box; margin-bottom: 17px; }
body.top section h1 > span span { display: block; }
body.top section h1 > svg { width: 70px; height: 80px; fill: #ea5504; margin-right: 10px; flex: 0 0 70px; }
body.top section h1 > svg text { font-family: 'Noto Serif CJK JP'; font-size: 1.6rem; font-weight: 500; fill: #595757; }
body.top section h1 > span .heading { font-size: 2.1rem; font-weight: 900; padding-top: 10px; }
body.top section h1 > span .sub { font-size: 1.3rem; font-weight: 700; line-height: 1.7; margin-top: 5px; }

/* section: service */
body.top main > .wrapper.columned .videos { width: calc(100% - 30px); aspect-ratio: 16/9; margin: 0 auto 30px; }
body.top main > .wrapper.columned .banners { width: calc(100% - 30px); margin: 0 auto 30px; }
body.top main > .wrapper.columned .banners .banner { width: 100%; margin-bottom: 30px; box-shadow: 2px 2px 4px rgba(0, 0, 0, .16); transition: .25s; }
body.top main > .wrapper.columned .banners .banner:hover { box-shadow: none; }
body.top main > .wrapper.columned .banners .banner img { max-width: 100%; height: auto; }
body.top main > .wrapper.columned .twitter { /* height: 438px; */ margin-top: 30px; }
body.top main > .wrapper.columned .twitter iframe { display: block; height: 400px; margin: 0 15px; }
body.top main > .wrapper.columned .twitter h3 { font-size: 1.8rem; font-weight: 900; text-align: center; margin: 0 0 20px 15px; transition: .25s; }
body.top main > .wrapper.columned .twitter h3:hover { opacity: .8; }
body.top main > .wrapper.columned .twitter h3 a.out span { display: inline-block; background: url(/media/common/icon_out.svg) no-repeat right center; background-size: 16px; padding-right: 25px; }

body.top section.service { margin: 0 auto 70px; }

/* section: mas */
body.top section.mas { margin-top: 40px; }
body.top section.mas .columned { width: 320px; height: 250px; position: relative; margin: 0 auto 10px; }
body.top section.mas h2 { text-align: left; margin-bottom: 10px; }
body.top section.mas p { font-size: 1.3rem; font-weight: 350; line-height: 1.8; }
body.top section.mas p.sub { width: calc(100% - 166px); font-size: 1.1rem; font-weight: 350; line-height: 1.6; margin-top: 10px; }
body.top section.mas figure img { width: 156px; height: auto; position: absolute; right: 16px; bottom: 0; }

/* section: others */
body.top .bound { position: relative; }

body.top section.customer,
body.top section.employee,
body.top section.company { background-color: rgba(89, 87, 87, .7); }
body.top section.customer h1,
body.top section.employee h1,
body.top section.company h1 { color: #fff; }
body.top section.customer h1 > svg text,
body.top section.employee h1 > svg text,
body.top section.company h1 > svg text { fill: #fff; }
body.top section.customer > .inner,
body.top section.employee > .inner,
body.top section.company > .inner,
body.top section.recruit > .inner,
body.top section.saitama > .inner,
body.top section.seventieth-years > .inner { font-size: 0; padding: 0 0 30px; margin: 0 auto; position: relative; }
body.top section.customer > .inner > img,
body.top section.employee > .inner > img,
body.top section.company > .inner > img,
body.top section.recruit > .inner > img,
body.top section.seventieth-years > .inner > img { display: block; width: 288px; margin: 0 auto 20px; }
body.top section.customer > .inner > .text,
body.top section.employee > .inner > .text,
body.top section.company > .inner > .text { color: #fff; padding: 0 16px; }
body.top section.customer > .inner > .text p,
body.top section.employee > .inner > .text p,
body.top section.company > .inner > .text p,
body.top section.recruit > .inner > .text p { font-size: 1.3rem; font-weight: 350; line-height: 1.8; margin-bottom: 20px; }
body.top section.customer > .inner > .buttons,
body.top section.employee > .inner > .buttons,
body.top section.company > .inner > .buttons { display: block; text-align: center; }

body.top section.customer { margin: 130px 0 80px; }
body.top section.customer > .inner > .text h3 { display: flex; align-items: center; margin-bottom: 10px; }
body.top section.customer > .inner > .text h3 .heading { font-size: 1.4rem; font-weight: 700; line-height: 1.4; padding-top: 10px; } 
body.top section.customer > .inner > .text h3 .heading .customer_07 span:first-child { display: none; }
body.top section.customer > .inner > .text h3 .sub { font-family: 'Noto Serif CJK JP'; font-size: 4rem; font-weight: 600; line-height: 1; border-bottom: 2px solid #fff; padding-bottom: 5px; margin-right: 10px; } 

body.top section.employee { margin: 140px 0 55px; }
body.top section.employee > .inner { display: flex; flex-direction: column; justify-content: center; }
body.top section.employee > .inner > h1,
body.top section.employee > .inner > img,
body.top section.employee > .inner > .text,
body.top section.employee > .inner > .buttons { flex-grow: 0; }
body.top section.employee > .inner > h1 { order: 1; }
body.top section.employee > .inner > img { order: 3; }
body.top section.employee > .inner > .text { order: 2; }
body.top section.employee > .inner > .buttons { order: 4; }

body.top .bound section { display: flex; }

body.top .bound section h1 { width: calc(100% - 8px); height: 120px; background-color: #595757; box-sizing: border-box; margin-top: -60px; margin-bottom: 20px; }
body.top .bound section.customer h1 { border-radius: 60px 0 0 60px; padding-left: 40px; margin-left: 8px; }
body.top .bound section.employee h1 { border-radius: 0 80px 80px 0; padding-right: 60px; }

body.top #top_x { display: block; width: 120px; height: 120px; position: absolute; top: 53.5%; left: 50%; transform: translate(-50%, -50%); }

body.top section.news,
body.top section.company,
body.top section.recruit,
body.top section.publication { margin-top: 55px; }
body.top section.news > .inner,
body.top section.recruit > .inner { padding-top: 0; }

body.top section.company { background-color: #595757; }
body.top section.company > .inner { padding-top: 15px; }
body.top section.company h1 > svg text { font-size: 1.5rem; }

body.top section.recruit,
body.top section.saitama,
body.top section.seventieth-years { border: 1px solid #b7b7b7; padding: 10px; box-sizing: border-box; }
body.top section.recruit { margin: 80px 16px 40px; }
body.top section.saitama { margin: 0 16px 40px; }
body.top section.seventieth-years { margin: 0 16px 60px; }
body.top section.recruit > .inner,
body.top section.saitama > .inner,
body.top section.seventieth-years > .inner { padding-bottom: 0; }
body.top section.recruit h1 { margin-bottom: 15px; }
body.top section.recruit > .inner > .text p.enlarged { font-size: 1.3rem; font-weight: 700; line-height: 1.8; padding: 0 16px; margin-bottom: 8px; }
body.top section.recruit > .inner > .text > img { display: block; width: 219px; height: auto; margin: 0 0 20px 16px; }
body.top section.recruit > .inner > .text > .buttons,
body.top section.saitama > .inner > .text > .buttons,
body.top section.seventieth-years > .inner > .text > .buttons { display: block; text-align: center; }
body.top section.recruit > .inner > img,
body.top section.seventieth-years > .inner > img { width: 100%; height: auto; }

body.top section.saitama > .inner > .image { width: calc(100vw - 54px); height: calc((100vw - 54px) * 0.6); background: url(/media/top/mobile/top_saitama.jpg) no-repeat 0 0; background-size: contain; margin: 0 auto 20px; position: relative; }
body.top section.saitama > .inner > .image span { display: inline-block; font-size: 1.2rem; font-weight: 400; position: absolute; }
body.top section.saitama > .inner > .image span:first-child { top: 42%; left: 33.5%; }
body.top section.saitama > .inner > .image span:last-child { top: 34.5%; right: 34.5%; transform: rotate(-10deg); }
@media (width: 320px) {
body.top section.saitama > .inner > .image span:first-child { top: 42%; left: 32.5%; }
body.top section.saitama > .inner > .image span:last-child { top: 34.5%; right: 33%; transform: rotate(-10deg); }
}
body.top section.saitama h1,
body.top section.seventieth-years h1 { display: block; margin-bottom: 0; margin-bottom: 15px; }
body.top section.saitama h1 > span,
body.top section.seventieth-years h1 > span { display: block; padding: 0; }
body.top section.saitama h1 > .heading,
body.top section.seventieth-years h1 > .heading { font-size: 2rem; font-weight: 700; margin-bottom: 5px; }
body.top section.saitama h1 > .sub,
body.top section.seventieth-years h1 > .sub { font-size: 1.3rem; font-weight: 700; line-height: 1.8; }
body.top section.saitama h1 .enlarged { font-size: 2rem; font-weight: 700; text-align: center; }
body.top section.saitama .emblem { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 170px; height: 55px; text-align: center; background: url(/media/saitama/bg_emblem.svg) no-repeat 0 0; background-size: contain; margin: 15px auto; }
body.top section.saitama .emblem span { display: inline-block; line-height: 1; padding: 0; }
body.top section.saitama .emblem span:first-child { font-family: 'Noto Serif CJK JP'; font-size: 1.2rem; font-weight: 500; border-bottom: 1px solid #595757; padding: 0 2px 2px; margin: -7px 0 5px; }
body.top section.saitama .emblem span:last-child { font-size: 1.3rem; font-weight: 400; }

body.top section.seventieth-years h1 > .heading { font-size: 2.4rem; text-align: center; margin-bottom: 0; }
body.top section.seventieth-years h1 > .sub { text-align: center; margin-top: 5px; }
body.top section.seventieth-years .text h1:last-of-type { margin-top: 20px; }

body.top section.news h1 { display: inline-flex; flex-direction: column; align-items: center; }
body.top section.news h1 span { line-height: 1; padding: 0; }
body.top section.news h1 .heading { font-size: 2.8rem; font-weight: 900; }
body.top section.news h1 .sub { font-family: 'Noto Serif CJK JP'; font-size: 2.4rem; font-weight: 500; text-align: center; }
body.top section.news .index-list .buttons { display: block; text-align: center; margin-top: 30px; }

body.top section.publication .inner { position: relative; }
body.top section.publication .inner:last-child { margin-top: 44px; }
body.top section.publication .inner h3 { color: #fff; line-height: 1; background-color: #ea5504; border-radius: 4px; margin: 0 16px 16px; }
body.top section.publication .inner h3 span { display: inline-block; font-size: 1.8rem; font-weight: 900; margin: 10px 30px; }
body.top section.publication .inner > img { width: 96px; height: auto; border: 1px solid #707070; }
body.top section.publication .inner > .text p { font-size: 1.3rem; line-height: 1.8; padding: 0 24px; }
body.top section.publication .inner > .text p.enlarged { font-size: 1.8rem; font-weight: 700; line-height: 1; margin-top: 15px; }
body.top section.publication .inner:first-child > img { position: absolute; right: 16px; bottom: 20px; }
body.top section.publication .inner:first-child > .buttons { position: absolute; left: 16px; bottom: 20px; }
body.top section.publication .inner:last-child > .text .buttons { display: block; text-align: center; margin-top: 20px; }
body.top section.publication .inner:first-child { height: 266px; background-color: #dedddd; border-radius: 133px 0 0 133px; padding: 20px 0; box-sizing: border-box; }

body.top section.ichiichi-kai .inner { position: relative; }
body.top section.ichiichi-kai .inner:last-child { margin-top: 44px; }
body.top section.ichiichi-kai .inner h3 { display: flex; margin-bottom: 16px; }
body.top section.ichiichi-kai .inner h3 > img { width: 60px; height: 60px; margin-right: 10px; }
body.top section.ichiichi-kai .inner h3 > span { display: flex; flex-direction: column; }
body.top section.ichiichi-kai .inner h3 > span .sub { display: inline-block; color: #000; font-size: 1.1rem; font-weight: 500; margin-bottom: 10px; }
body.top section.ichiichi-kai .inner h3 > span img { width: 195px; height: 53px; }
body.top section.ichiichi-kai .inner > img { width: 96px; height: auto; border: 1px solid #707070; position: absolute; right: 16px; top: 115px; }
body.top section.ichiichi-kai .inner > .text p { width: calc(100% - 150px); font-size: 1.3rem; line-height: 1.8; padding: 0 24px; }
body.top section.ichiichi-kai .inner > .text p.enlarged { font-size: 1.8rem; font-weight: 700; line-height: 1; margin-top: 15px; }
body.top section.ichiichi-kai .inner > .buttons { position: absolute; left: 16px; bottom: 20px; }
body.top section.ichiichi-kai .inner { height: 266px; background-color: #dedddd; border-radius: 0 133px 133px 0; padding: 20px 0; box-sizing: border-box; }



/* advantage
   ========================================================================== */

body.advantage .billboard::before { background-image: url(/media/article-header/mobile/bg_advantage_header.jpg); }

body.advantage .article-header h1 > svg text { font-size: 1.3rem; }

body.advantage .statement { padding: 0 16px; margin-bottom: 70px; }
body.advantage .statement.styled p { font-feature-settings: 'palt'; }
body.advantage .statement.styled p br { display: none; }
body.advantage .statement .heading { font-family: 'Noto Serif CJK JP', serif; font-size: 3.2rem; font-weight: 700; line-height: 1.2; margin: 20px 0 15px; }
body.advantage .statement figure img { display: block; width: 288px; height: auto; margin: 0 auto; }
body.advantage .statement figure figcaption { color: #ea5504; font-size: 1.8rem; font-weight: 700; text-align: center; margin-bottom: 20px; }
body.advantage .statement .buttons { text-align: center; padding: 0; margin: 0; }
body.advantage .statement .buttons .button { width: 160px; height: 40px; font-size: 1.4rem; border: 1px solid #b7b7b7; border-radius: 0; box-shadow: 2px 2px 4px rgba(0, 0, 0, .16); padding: 0; }
body.advantage .statement .buttons .button:last-child { margin-left: 10px; }

body.advantage .content-01 .section-header,
body.advantage .content-02 .section-header { height: 140px; background-repeat: no-repeat; background-position: center center; background-size: cover; padding-top: 115px; box-sizing: border-box; margin-bottom: 115px; position: relative; }

body.advantage .content-01 .section-header { background-image: url(/media/advantage/mobile/bg_advantage_02.jpg); }
body.advantage .content-02 .section-header { background-image: url(/media/advantage/mobile/bg_advantage_05.jpg); }

body.advantage .article-body h3 { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; }
body.advantage .article-body h3 > .inner { flex: 0 0 230px; }
body.advantage .article-body h3 > .inner span { display: flex; align-items: center; height: 80px; background: url(/media/advantage/bg_advantage_06.svg) no-repeat right 8px center #ea5504; background-size: 70px; border-radius: 40px 0 0 40px; padding-left: 40px; box-sizing: border-box; }
body.advantage .article-body h3::before { content: ''; display: block; height: 80px; flex: 1 0 16px; }

body.advantage h4 { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; margin-top: -5px; }
body.advantage h4 h3 > .inner { flex: 0 0 calc(100% - 16px); }
body.advantage h4 > .inner span { display: inline-flex; align-items: center; height: 64px; background-color: #595757; border-radius: 0 32px 32px 0; padding-left: 8px; padding-right: 32px; box-sizing: border-box; }
body.advantage h4::after { content: ''; display: block; height: 64px; flex: 1 0 16px; }

body.advantage .content-01 .section-body { position: relative; background: url(/media/advantage/mobile/bg_advantage_03.svg) no-repeat right 170px; background-size: 312px 656px; }
body.advantage .content-01 .section-body::after { content: ''; display: block; width: 200px; height: 200px; background: url(/media/advantage/bg_advantage_04.jpg) no-repeat center center transparent; background-size: cover; border-radius: 100px; position: absolute; right: 8px; top: 775px; z-index: -1; }
body.advantage .content-01 .section-body .inner { padding: 35px 16px; }
body.advantage .content-01 ul { margin-bottom: 0; }
body.advantage .content-01 ul li { line-height: 1.8; margin-bottom: 0; }
body.advantage .content-01 .section-body .inner .block:nth-of-type(2) { margin: 140px 0 420px; }

body.advantage .content-02 .section-body .inner { padding: 40px 16px 0; }
body.advantage .content-02 dl dd { line-height: 1.8; margin-bottom: 0; }

body.advantage h5 { font-size: 1.6rem; font-weight: 700; margin-bottom: 10px; }



/* service
   ========================================================================== */

body.service .article-body.styled h4 span { font-family: 'Noto Sans CJK JP'; font-size: 1.4rem; font-weight: 700; }

body.service .article-header.billboard::before { height: 210px; }
body.service .article-header.billboard h1 { margin-bottom: 110px; }

body.service .article-body a.button.link.out span { background-image: url(/media/common/icon_out_w.svg); }

/* section-footer */
body.service .article-footer { margin-top: 50px; }
body.service .article-footer > .block:last-child { background-color: rgba(89, 87, 87, .2); padding: 40px 0 20px; }

body.service .styled .article-footer a span { text-decoration: none; }

body.service .article-footer .tiles { width: 287px; }
body.service .article-footer .tiles .tile { width: 95px; height: 72px; }
body.service .article-footer .tiles .tile.long { width: 191px; }

body.service .article-footer .tiles .tile .heading { line-height: 1.4; }
body.service .article-footer .tiles .tile:hover { box-shadow: none; }
body.service .article-footer .tiles .tile:hover .heading { opacity: 1; z-index: 1; }
body.mas .article-footer .mas .tile,
body.service-01 .article-footer .tiles .tile.service-01,
body.service-02 .article-footer .tiles .tile.service-02,
body.service-03 .article-footer .tiles .tile.service-03,
body.service-04 .article-footer .tiles .tile.service-04,
body.service-05 .article-footer .tiles .tile.service-05,
body.service-06 .article-footer .tiles .tile.service-06,
body.service-06-test .article-footer .tiles .tile.service-06,
body.service-07 .article-footer .tiles .tile.service-07,
body.service-08 .article-footer .tiles .tile.service-08,
body.service-09 .article-footer .tiles .tile.service-09,
body.service-10 .article-footer .tiles .tile.service-10,
body.service-11 .article-footer .tiles .tile.service-11,
body.service-12 .article-footer .tiles .tile.service-12,
body.service-13 .article-footer .tiles .tile.service-13 { box-shadow: none; opacity: .25; cursor: default; pointer-events: none; }

body.service .article-footer > .block:first-child { width: 100%; text-align: center; padding: 0; margin-bottom: -20px; }
body.service .article-footer a.link.contact { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1; text-decoration: none; }
body.service .article-footer a.link.contact::before { content: ''; display: block; height: 40px; flex: 1 0 auto; }
body.service .article-footer a.link.contact > .inner { display: block; flex: 0 0 250px; }
body.service .article-footer a.link.contact > .inner > span { display: flex; align-items: center; height: 40px; background-color: #ea5504; border-radius: 20px 0 0 20px; padding-left: 60px; box-sizing: border-box; position: relative; }
body.service .article-footer a.link.contact > .inner > span::before,
body.service .article-footer a.link.contact > .inner > span::after { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
body.service .article-footer a.link.contact > .inner > span::before { background-image: url(/media/common/icon_contact_w.svg); background-size: auto 18px; background-repeat: no-repeat; background-position: 20px center; }
body.service .article-footer a.link.contact > .inner > span::after { background: url(/media/common/arrow_next_w.svg) no-repeat right 16px center; background-size: 15px; }

/* service: MAS */
body.service section.mas figure,
body.service section.mas h2,
body.service section.mas p { display: none; }

/* service-01: 経営相談 */
body.service-01 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-01_header.jpg); background-color: #fd5959; }
body.service-01 .article-header h1 > svg { fill: #fd5959; }
body.service-01 .article-body h3::before { background: linear-gradient(to left, #fd5959 0%, rgba(255, 113, 157, 0) 100%); }
body.service-01 .article-header p.lead,
body.service-01 .article-body h3 > .inner span,
body.service-01 .article-body a.button.link { background-color: #fd5959; }
body.service-01 .article-footer a.link.contact > .inner > span { background-color: #fd5959; }

/* service-02: 人材育成 */
body.service-02 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-02_header.jpg); background-color: #ff7171; }
body.service-02 .article-header h1 > svg { fill: #ff7171; }
body.service-02 .article-body h3::before { background: linear-gradient(to left, #ff7171 0%, rgba(255, 113, 113, 0) 100%); }
body.service-02 .article-header p.lead,
body.service-02 .article-body h3 > .inner span,
body.service-02 .article-body a.button.link { background-color: #ff7171; }
body.service-02 .article-footer a.link.contact > .inner > span { background-color: #ff7171; }

/* service-03: M&A・事業承継 */
body.service-03 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-03_header.jpg); background-color: #fa914f; }
body.service-03 .article-header h1 > svg,
body.service-03 .article-body > h2 > svg { fill: #fa914f; }
body.service-03 .article-body h3::before { background: linear-gradient(to left, #fa914f 0%, rgba(250, 145, 79, 0) 100%); }
body.service-03 .article-header p.lead,
body.service-03 .article-body h3 > .inner span,
body.service-03 .article-body a.button.link { background-color: #fa914f; }
body.service-03 .article-footer a.link.contact > .inner > span { background-color: #fa914f; }

/* service-04: 相続 */
body.service-04 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-04_header.jpg); background-color: #ffbc3c; }
body.service-04 .article-header h1 > svg { fill: #ffbc3c; }
body.service-04 .article-body h3::before { background: linear-gradient(to left, #ffbc3c 0%, rgba(255, 188, 60, 0) 100%); }
body.service-04 .article-header p.lead,
body.service-04 .article-body h3 > .inner span,
body.service-04 .article-body a.button.link { background-color: #ffbc3c; }
body.service-04 .article-body.styled ul li::before { content: '○'; }
body.service-04 .article-footer a.link.contact > .inner > span { background-color: #ffbc3c; }

/* service-05: 助成金・補助金 */
body.service-05 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-05_header.jpg); background-color: #71c3ff; }
body.service-05 .article-header h1 > svg { fill: #71c3ff; }
body.service-05 .article-body h3::before { background: linear-gradient(to left, #71c3ff 0%, rgba(113, 195, 255, 0) 100%); }
body.service-05 .article-header p.lead,
body.service-05 .article-body h3 > .inner span,
body.service-05 .article-body a.button.link { background-color: #71c3ff; }
body.service-05 .article-footer a.link.contact > .inner > span { background-color: #71c3ff; }

/* service-06: 医療 */
body.service-06 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-06_header.jpg); background-color: #659bff; }
body.service-06 .article-header h1 > svg { fill: #659bff; }
body.service-06 .article-body h3::before { background: linear-gradient(to left, #659bff 0%, rgba(101, 155, 255, 0) 100%); }
body.service-06 .article-body.styled h4 span { color: #659bff }
body.service-06 .article-header p.lead,
body.service-06 .article-body h3 > .inner span,
body.service-06 .article-body a.button.link { background-color: #659bff; }
body.service-06 .article-footer a.link.contact > .inner > span { background-color: #659bff; }

/* service-07: 社会福祉法人 */
body.service-07 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-07_header.jpg); background-color: #60ccab; }
body.service-07 .article-header h1 > svg { fill: #60ccab; }
body.service-07 .article-body h3::before { background: linear-gradient(to left, #60ccab 0%, rgba(96, 204, 171, 0) 100%); }
body.service-07 .article-body h3:nth-of-type(2) { margin-top: 0; }
body.service-07 .article-body.styled h4 span { color: #60ccab }
body.service-07 .article-body.styled h5 span { font-size: 1.3rem; font-weight: 500; }
body.service-07 .article-header p.lead,
body.service-07 .article-body h3 > .inner span,
body.service-07 .article-body a.button.link { background-color: #60ccab; }

body.service-07 .article-body p.columned span { display: inline-block; }
body.service-07 .article-body p.columned span:nth-of-type(1),
body.service-07 .article-body p.columned span:nth-of-type(3),
body.service-07 .article-body p.columned span:nth-of-type(5),
body.service-07 .article-body p.columned span:nth-of-type(7) { width: 25%; }
body.service-07 .article-body p.columned span:nth-of-type(2),
body.service-07 .article-body p.columned span:nth-of-type(4),
body.service-07 .article-body p.columned span:nth-of-type(6),
body.service-07 .article-body p.columned span:nth-of-type(8) { width: 75%; }

body.service-07 .article-footer a.link.contact > .inner > span { background-color: #60ccab; }

body.service-07 .expandable .inner { perspective: 1000px; position: relative; }
body.service-07 .expandable .inner .block { max-height: 2000px; position: relative; overflow: hidden; opacity: 1; z-index: 2; }
body.service-07 .expandable .inner p { width: calc(100% - 32px); margin-left: auto; margin-right: auto; }
body.service-07 .expandable .inner input[type=checkbox] { position: absolute; cursor: pointer; width: 100%; height: 100%; z-index: 1; opacity: 0; }
body.service-07 .expandable .inner input[type=checkbox]:checked ~ div { margin-top: 0; max-height: 0; opacity: 0; transform: translate(0, 50%); }
body.service-07 .expandable .inner input[type=checkbox] ~ a span:nth-child(1),
body.service-07 .expandable .inner input[type=checkbox]:checked ~ a span:nth-child(2) { opacity: 0; }
body.service-07 .expandable .inner input[type=checkbox]:checked ~ a span:nth-child(1),
body.service-07 .expandable .inner input[type=checkbox] ~ a span:nth-child(2) { opacity: 1; }
body.service-07 .expandable .inner .block,
body.service-07 .expandable .inner a.button span { transition: all .25s ease-in-out; }
body.service-07 .expandable .inner a.button { display: flex; width: 120px; height: 32px; margin: 0 auto 32px; position: relative; }
body.service-07 .expandable .inner a.button span { background-size: 15px auto; padding-right: 20px; position: absolute; }
body.service-07 .expandable .inner a.button span:nth-child(1) { background-image: url(/media/common/arrow_down_mini.svg); }
body.service-07 .expandable .inner a.button span:nth-child(2) { background-image: url(/media/common/arrow_up_mini.svg); }

/* service-08: 税務会計 */
body.service-08 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-08_header.jpg); background-color: #9fd654; }
body.service-08 .article-header h1 > svg { fill: #9fd654; }
body.service-08 .article-body h3::before { background: linear-gradient(to left, #9fd654 0%, rgba(159, 214, 84, 0) 100%); }
body.service-08 .article-header p.lead,
body.service-08 .article-body h3 > .inner span,
body.service-08 .article-body a.button.link { background-color: #9fd654; }
body.service-08 .article-footer a.link.contact > .inner > span { background-color: #9fd654; }

/* service-09: 人事・労務 */
body.service-09 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-09_header.jpg); background-color: #465ec3; }
body.service-09 .article-header h1 > svg { fill: #465ec3; }
body.service-09 .article-body h3::before { background: linear-gradient(to left, #465ec3 0%, rgba(70, 94, 195, 0) 100%); }
body.service-09 .article-header p.lead,
body.service-09 .article-body h3 > .inner span,
body.service-09 .article-body a.button.link { background-color: #465ec3; }
body.service-09 .article-footer a.link.contact > .inner > span { background-color: #465ec3; }

/* service-10: 法務 */
body.service-10 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-10_header.jpg); background-color: #b26ee5; }
body.service-10 .article-header h1 > svg { fill: #b26ee5; }
body.service-10 .article-body h3::before { background: linear-gradient(to left, #b26ee5 0%, rgba(178, 110, 229, 0) 100%); }
body.service-10 .article-header p.lead,
body.service-10 .article-body h3 > .inner span,
body.service-10 .article-body a.button.link { background-color: #b26ee5; }
body.service-10 .article-footer a.link.contact > .inner > span { background-color: #b26ee5; }

/* service-11: 許認可 */
body.service-11 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-11_header.jpg); background-color: #b24343; }
body.service-11 .article-header h1 > svg { fill: #b24343; }
body.service-11 .article-body h3::before { background: linear-gradient(to left, #b24343 0%, rgba(211, 85, 85, 0) 100%); }
body.service-11 .article-header p.lead,
body.service-11 .article-body h3 > .inner span,
body.service-11 .article-body a.button.link { background-color: #b24343; }
body.service-11 .article-footer a.link.contact > .inner > span { background-color: #b24343; }

/* service-12: 給与計算・アウトソーシング */
body.service-12 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-12_header.jpg); background-color: #c18472; }
body.service-12 .article-header h1 > svg { fill: #c18472; }
body.service-12 .article-body h3::before { background: linear-gradient(to left, #c18472 0%, rgba(193, 132, 114, 0) 100%); }
body.service-12 .article-header p.lead,
body.service-12 .article-body h3 > .inner span,
body.service-12 .article-body a.button.link { background-color: #c18472; }
body.service-12 .article-footer a.link.contact > .inner > span { background-color: #c18472; }

/* service-13: 人材派遣・人材紹介 */
body.service-13 .billboard::before { background-image: url(/media/article-header/mobile/bg_service-13_header.jpg); background-color: #ff719d; }
body.service-13 .article-header h1 > svg { fill: #ff719d; }
body.service-13 .article-body h3::before { background: linear-gradient(to left, #ff719d 0%, rgba(211, 85, 85, 0) 100%); }
body.service-13 .article-header p.lead,
body.service-13 .article-body h3 > .inner span,
body.service-13 .article-body a.button.link { background-color: #ff719d; }
body.service-13 .article-footer a.link.contact > .inner > span { background-color: #ff719d; }



/* service: MAS監査
   ========================================================================== */

body.service.mas .billboard { background: url(/media/article-header/mobile/bg_service_mas_header.jpg) no-repeat center center; background-size: cover; height: 400px; margin-bottom: 50px; }

body.service.mas .article-header h1 > .text > .heading { font-size: 3.2rem; }
body.service.mas .article-header p.lead br { display: inline; }

body.service.mas .billboard p.lead { width: 100%; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 2.4rem; font-weight: 700; line-height: 1.3; text-align: center; background-color: transparent; margin: 0; position: absolute; bottom: 150px; }

body.service.mas .article-body p { font-size: 1.3rem; font-weight: 350; line-height: 1.8; }
body.service.mas .article-body p.sub { font-size: 1rem; font-weight: 350; line-height: 1.6; }
body.service.mas .article-body p.enlarged { font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; }
body.service.mas .article-body p.enlarged em { color: #ea5504; }

body.service.mas .article-footer { margin-top: 80px; }

/* section-01 */
body.service.mas .section-01 { padding: 0 16px; margin-bottom: 40px; }
body.service.mas .section-01 .block { min-height: 255px; border: 1px solid #707070; padding: 20px 15px; margin-bottom: 20px; box-sizing: border-box; }
body.service.mas .section-01 h4 { color: #ea5504; font-size: 3.4rem; font-weight: 300; margin-bottom: 15px; }
body.service.mas .section-01 p { font-size: 1.5rem; font-weight: 350; line-height: 1.5; }
body.service.mas .section-01 p:nth-of-type(n + 2) { margin-top: 10px; }

/* section-02 */
body.service.mas .section-02 { background: url(/media/mas/mas_arrow_01.svg) no-repeat center bottom; background-size: 35px auto; padding: 0 16px 40px; margin-bottom: 50px; }
body.service.mas .section-02 p { font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; text-align: center; }
body.service.mas .section-02 p:first-of-type { margin-bottom: 20px; }

/* section-03 */
body.service.mas .section-03 { padding: 0 16px; margin-bottom: 30px; }
body.service.mas .section-03 p:nth-child(n + 2) { margin-top: 20px; }
body.service.mas .section-03 p.sub { margin: 10px 0 60px; }

/* section-04 */
body.service.mas .section-04 { padding: 0 16px; margin-bottom: 10px; position: relative; }
body.service.mas .section-04 figure { width: 288px; position: absolute; left: calc(50% - 144px); top: 105px; }
body.service.mas .section-04 figure img { width: 288px; height: auto; }
body.service.mas .section-04 ul { display: flex; flex-wrap: wrap; }
body.service.mas .section-04 ul li { display: flex; align-items: center; width: calc(50% - 5px); min-height: 120px; font-size: 1.1rem; font-weight: 350; line-height: 1.6; border: 1px solid #707070; border-radius: 10px; padding: 10px 15px; box-sizing: border-box; }
body.service.mas .section-04 ul li:nth-child(even) { margin-left: 10px; }
body.service.mas .section-04 ul li:nth-child(3),
body.service.mas .section-04 ul li:nth-child(4) { margin-top: 260px; }

/* section-05 */
body.service.mas .section-05 { background: url(/media/mas/mobile/mas_chart.svg) no-repeat center top; background-size: 288px auto; padding-top: 710px; margin-bottom: 50px; position: relative; }

body.service.mas .section-05 figure.arrow { position: absolute; left: 68px; top: -50px; z-index: 1; }
body.service.mas .section-05 figure.arrow img { width: 30px; height: 45px; object-fit: cover; object-position: center bottom; }

body.service.mas .section-05 h4 { width: 170px; height: 60px; background-color: #ea5504; border-radius: 10px; position: absolute; left: 10px; top: 680px; z-index: 1; }
body.service.mas .section-05 h4 span { display: block; color: #fff; text-align: center; }
body.service.mas .section-05 h4 .heading { font-family: 'Noto Serif CJK JP', serif; font-size: 3.2rem; font-weight: 700; }
body.service.mas .section-05 h4 .sub { font-size: 1rem; font-weight: 700; margin: 6px 0 3px; }

body.service.mas .section-05 .block { background-color: #ffe9c9; border: 5px solid #ea5504; padding: 25px 11px 20px; margin-bottom: 20px; box-sizing: border-box; position: relative; }

body.service.mas .section-05 .block:first-of-type { padding-top: 50px; }
body.service.mas .section-05 .block:last-of-type { background-color: #dfffd9; border-color: #399d26; margin-top: 45px; margin-bottom: 0; }

body.service.mas .section-05 .block::before { content: ''; display: block; width: 16px; height: 100%; background-color: #ea5504; position: absolute; left: 75px; top: 0; }
body.service.mas .section-05 .block:last-of-type::before { content: none; }
body.service.mas .section-05 .block:first-of-type::after { content: ''; display: block; width: 16px; height: 20px; background-color: #ea5504; position: absolute; left: 75px; bottom: -25px; }

body.service.mas .section-05 .block figure.mark { position: absolute; right: 16px; top: -30px; }
body.service.mas .section-05 .block figure.mark img { width: 50px; height: 50px; }
body.service.mas .section-05 .block:last-of-type figure.mark img:nth-of-type(n + 2) { margin-left: 5px; }

body.service.mas .section-05 .block .columned { position: relative; }
body.service.mas .section-05 .block .columned:nth-of-type(n + 2) { margin-top: 35px; }

body.service.mas .section-05 .block h5 { display: flex; justify-content: center; align-items: center; width: 165px; height: 50px; background-color: #fff; border: 2px solid #fdb242; margin-bottom: 10px; box-sizing: border-box; position: relative; }
body.service.mas .section-05 .block h5 .heading { font-size: 1.8rem; font-weight: 700; }
body.service.mas .section-05 .block h5 .shoulder { display: flex; justify-content: center; align-items: center; position: absolute; left: -6px; top: -13px; }
body.service.mas .section-05 .block h5 .shoulder span { display: inline-block; width: 50px; color: #fff; font-size: 1.1rem; font-weight: 500; text-align: center; letter-spacing: .1em; background-color: #fdb242; padding: 5px 0; }
body.service.mas .section-05 .block h5 .shoulder span::first-letter { color: #ea5504; }

body.service.mas .section-05 .block:last-of-type h5 { flex-direction: column; align-items: normal; height: 90px; border-color: #9fd654; padding-top: 10px; }
body.service.mas .section-05 .block:last-of-type h5 .heading,
body.service.mas .section-05 .block:last-of-type h5 .sub { display: flex; justify-content: center; align-items: center; height: 45px; }
body.service.mas .section-05 .block:last-of-type h5 .sub { color: #fff; font-size: 1.8rem; font-weight: 700; background-color: #9fd654; }
body.service.mas .section-05 .block:last-of-type h5 .shoulder span { background-color: #9fd654; }
body.service.mas .section-05 .block:last-of-type h5 .shoulder span:nth-of-type(n + 2) { margin-left: 5px; }
body.service.mas .section-05 .block:last-of-type h5 .shoulder span::first-letter { color: #399d26; }

body.service.mas .section-05 .block p { font-size: 1.3rem; font-weight: 350; line-height: 1.8; }

/* section-06 */
body.service.mas .section-06 { padding: 0 16px; }
body.service.mas .section-06 p b { display: block; font-size: 1.3rem; font-weight: 700; line-height: 1.4; }
body.service.mas .section-06 p.enlarged { margin: 10px 0 15px; }
body.service.mas .section-06 .columned { display: flex; }
body.service.mas .section-06 .columned .text { display: flex; flex-direction: column; justify-content: space-between; }
body.service.mas .section-06 .columned .text .buttons { width: 100%; padding: 0; }
body.service.mas .section-06 .columned figure { width: 98px; margin-left: 10px; }
body.service.mas .section-06 .columned figure img { width: 98px; height: auto; }



/* customer v2018
   ========================================================================== */

body.customer-v2018 .article-header.billboard::before { margin-top: 100px; height: calc(100% - 100px); }
body.customer-v2018 .billboard h1 { margin-bottom: 0; }
body.customer-v2018 .billboard .extras { background-color: rgba(255, 255, 255, .5); border-radius: 5px; padding: 5px 10px; }
body.customer-v2018 .billboard .extras span { font-size: 1.1rem; font-weight: 350; line-height: 1.5; }

body.customer-v2018 .section-header .extras { display: flex; }
body.customer-v2018 .section-header .extras > .inner { flex: 0 0 260px; }
body.customer-v2018 .section-header .extras img { width: 190px; height: auto; }
body.customer-v2018 .section-header .extras > .inner .image { display: inline-flex; align-items: center; height: 148px; background-color: #bdbcbc; border-radius: 74px 0 0 74px; padding-left: 70px; padding-right: 8px; box-sizing: border-box; }
body.customer-v2018 .section-header .extras::before { content: ''; display: block; height: 148px; flex: 1 0 auto; }

body.customer-v2018 h3 { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; margin-bottom: 20px; position: relative; }
body.customer-v2018 .section-header h3 { margin-top: -5px; }
body.customer-v2018 h3 > .inner { flex: 0 0 calc(100% - 16px); }
body.customer-v2018 h3 > .inner span { display: inline-flex; align-items: center; height: 64px; background-color: #ea5504; border-radius: 0 32px 32px 0; padding-left: 8px; padding-right: 32px; box-sizing: border-box; }
body.customer-v2018 h3::after { content: ''; display: block; height: 64px; flex: 1 0 16px; }

body.customer-v2018 .section-header .shoulder span { display: inline-block; vertical-align: top; font-size: 1.4rem; font-weight: 700; line-height: 1.4; }
body.customer-v2018 .section-header .shoulder.sub { padding: 0 16px 15px; }
body.customer-v2018 .section-header .shoulder.sub .sub { font-family: 'Noto Serif CJK JP'; font-size: 4rem; font-weight: 600; line-height: 1; border-bottom: 3px solid #595757; padding-bottom: 5px; margin: -10px 5px 0 0; } 

body.customer-v2018 .section-header .shoulder.main { width: 824px; margin: 0 auto; position: relative; z-index: 1; }
body.customer-v2018 .section-header .shoulder.main > .inner { position: absolute; top: -157px; }
body.customer-v2018 .section-header .shoulder.main svg { width: 80px; height: 92px; fill: #b5ea04; transform: rotate(350deg); margin-right: 10px; }
body.customer-v2018 .section-header .shoulder.main span,
body.customer-v2018 .section-header .shoulder.main svg { display: inline-block; vertical-align: middle; }

body.customer-v2018 .section-body > .section { margin-bottom: 40px; }
body.customer-v2018 .section-body > .section > figure img { width: 240px; height: auto; }
body.customer-v2018 .section-body > .section > figure,
body.customer-v2018 .section-body > .section > p,
body.customer-v2018 .section-body > .section > h4,
body.customer-v2018 .section-body > .section > h5,
body.customer-v2018 .section-body > .section > h6 { padding: 0 16px; }
body.customer-v2018 .section-body > .section > figure { margin-bottom: 25px; }

body.customer-v2018 .section-body h4 { display: block; margin-bottom: 20px; }
body.customer-v2018 .section-body h4 > span { display: block; font-family: 'Noto Sans CJK JP', sans-serif; }
body.customer-v2018 .section-body h4 .heading { font-size: 1.4rem; font-weight: 700; margin-bottom: 10px; }
body.customer-v2018 .section-body h4 .sub { color: #ea5504; font-size: 1.3rem; font-weight: 350; }
body.customer-v2018 .section-body h5 { font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.4; margin-bottom: 20px; }

body.customer-v2018 .section-body .boxed { width: calc(100% - 32px); margin: 40px auto 15px; }
body.customer-v2018 .section-body .boxed h6 { margin-top: 0; position: relative; }
body.customer-v2018 .section-body .boxed ol { width: 100%; margin-bottom: 0; }
body.customer-v2018 .section-body > p strong { font-size: 1,2rem; }
body.customer-v2018 .section-body > p strong a { display: block; }

body.customer-v2018 .section-body .extras.left { float: none; display: flex; padding-bottom: 40px; margin-top: 20px; }
body.customer-v2018 .section-body .extras.left img { width: 228px; height: auto; }
body.customer-v2018 .section-body .extras.left > .inner { position: relative; }
body.customer-v2018 .section-body .extras.left > .inner .image { display: flex; align-items: center; width: calc(100% - 8px); height: 178px; background-color: #595757; border-radius: 0 89px 89px 0; padding-left: 8px; padding-right: 84px; box-sizing: border-box; }
body.customer-v2018 .section-body .extras.left > .inner .image figcaption { display: block; width: 228px; position: absolute; top: 173px; }

body.customer-v2018 .section-body .extras.right { float: none; }
body.customer-v2018 .section-body .extras.right img { display: block; width: 190px; height: auto; margin: 0 auto; }
body.customer-v2018 .section-body .extras.right > .inner .image { background-color: #bdbcbc; padding: 20px 16px; }
body.customer-v2018 .section-body .extras.right > .inner .image figure:first-child { margin-bottom: 20px; }
body.customer-v2018 .section-body .extras.right > .inner .image figcaption { display: block; color: #fff; }

/* 01 */
body.customer_01 .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_customer_201809_header.jpg); }
body.customer_01 .billboard .extras { position: absolute; top: 50%; left: 37.5%; }

/* 02 */
body.customer_02 .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_customer_201906_header.jpg); }
body.customer_02 .billboard .extras { position: absolute; top: 21%; right: 32%; }
body.customer_02 .billboard .extras:nth-of-type(2) { top: 37.5%; right: 6%; }
body.customer_02 .section-body > .section:nth-of-type(3) .extras.left { padding-bottom: 0; margin-top: -5px; }
body.customer_02 .section-body > .section > .block { border-bottom: 1px solid #ffbc3c; padding: 0 16px; margin-bottom: 40px; }
body.customer_02 .section-body > .section > .block::after { content: ''; display: block; width: 0; height: 0; border-top: 30px solid #ffbc3c; border-right: 20px solid transparent; border-left: 20px solid transparent; margin: 0 auto -20px; }
body.customer_02 .section-body > .section > .block:last-child { border-bottom: none; margin-bottom: 200px; }
body.customer_02 .section-body > .section > .block:last-child::after { content: none; }
body.customer_02 .section-body h5 { margin-bottom: 10px; }
body.customer_02 .section-body h5 .image,
body.customer_02 .section-body h5 .text,
body.customer_02 .section-body h5 .text span { display: block; }
body.customer_02 .section-body h5 .text { position: relative; }
body.customer_02 .section-body h5 .text .sub { position: absolute; top:  -35px; left: 60px; }
body.customer_02 .section-body h5 .sub { font-family: 'Noto Sans CJK JP', sans-serif; font-size: 1.4rem; font-weight: 700; }
body.customer_02 .section-body h5 .image { margin-bottom: 15px; }
body.customer_02 .section-body h5 .image img { width: auto; height: 55px; }

/* 03 */
body.customer_03 .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_customer_202011_header.jpg); background-position: right center; }
body.customer_03 .billboard .extras { position: absolute; top: 45%; left: 12.5%; }

body.customer_03 .section-body > .section:nth-of-type(2) .extras.left { padding-bottom: 0; margin-top: -10px; }

body.customer_03 .section-body > .section > h6 { color: #595757; }

body.customer_03 .section.mas > h5,
body.customer_03 .section.mas > h6 { text-align: center; }
body.customer_03 .section.mas > h5 { font-size: 1.8rem; }
body.customer_03 .section.mas > h6 { font-size: 1.5rem; }

body.customer_03 .section.mas > .block { position: relative; }

body.customer_03 .section.mas > .block .replace:nth-of-type(1) { min-height: 630px; background: url(/media/customer/mobile/customer_202011_fig_08.svg) no-repeat center center; background-size: 268px 570px; border: 2px solid #595757; margin: 0 16px; box-sizing: border-box; }
body.customer_03 .section.mas > .block .replace:nth-of-type(2) { width: 160px; height: 160px; background: url(/media/customer/mobile/customer_202011_fig_09.svg) no-repeat center center; background-size: 160px; position: absolute; top: 490px; right: 26px; }

body.customer_03 dl { background: url(/media/customer/mobile/customer_202011_fig_10.svg) no-repeat center top; background-size: 68px 585px; padding: 100px 16px 0; margin-bottom: 30px; }
body.customer_03 dl dt { display: flex; justify-content: center; align-items: center; height: 60px; font-size: 1.8rem; font-weight: 700; background-color: #fff; border: 3px solid #595757; padding-bottom: 0; margin-bottom: 10px; box-sizing: border-box; }
body.customer_03 dl dd { display: block; line-height: 2; margin-bottom: 40px; }
body.customer_03 dl dd::before { content: none; }
body.customer_03 dl dd:last-of-type { border-bottom: 1px solid #ea5504; padding-bottom: 40px; }
body.customer_03 dl dt:last-of-type { display: flex; flex-direction: column; height: auto; }
body.customer_03 dl dt:last-of-type span { display: flex; justify-content: center; align-items: center; width: 100%; height: 60px; }
body.customer_03 dl dt:last-of-type span:last-child { color: #fff; background-color: #595757; }



/* customer v2022
   ========================================================================== */

body.customer-v2022 .article-header.billboard::before { content: none; }
body.customer-v2022 #bg { display: block; width: 100%; min-width: 320px; margin-top: 100px; height: calc(100% - 100px); background-repeat: no-repeat; background-position: center top; background-size: cover; position: absolute; top: 0; left: 0; z-index: -1; }
@media (orientation: landscape) {
body.customer-v2022 .article-header.billboard.large,
body.customer-v2022 #bg { height: calc(100vh + 154px); }
body.customer-v2022 #bg { background-position: top center; }
}

body.customer-v2022 .article-body .inner { padding: 0 15px; }

body.customer-v2022 .article-body .inner h2 .columned { display: flex; background: url(/media/daiichi-keiri-news-v2022/icon_x.svg) no-repeat 75px center; background-size: 40px; }
body.customer-v2022 .article-body .inner h2 .columned.custom { background-position: 75px 5px; }
body.customer-v2022 .article-body .inner h2 .shoulder { display: inline-block; font-family: 'Noto Serif CJK JP', serif; font-size: 4rem; font-weight: 500; border-bottom: 2px solid #595757; margin-bottom: 30px; }
body.customer-v2022 .article-body .inner h2 .sub,
body.customer-v2022 .article-body .inner h2 .interviewee { font-size: 1.4rem; font-weight: 500; line-height: 1.7; }
body.customer-v2022 .article-body .inner h2 .sub { margin-right: 40px; }
body.customer-v2022 .article-body .inner h2 .heading { display: block; font-family: 'Noto Serif CJK JP', serif; font-size: 3.6rem; font-weight: 700; line-height: 1.3; margin: 20px 0 0; }

body.customer-v2022 .article-body .inner h4 { margin: 20px 0; }
body.customer-v2022 .article-body .inner h4 span { line-height: 1.5; }

body.customer-v2022 .article-body .boxed h6 { font-size: 1.8rem; font-weight: 700; margin-top: 0; }

body.customer-v2022 .article-body .inner p { margin-bottom: 20px; }
body.customer-v2022 .article-body .inner p.lead { font-size: 1.4rem; font-weight: 500; line-height: 1.7; margin: 30px 0; }
body.customer-v2022 .article-body .boxed p { margin-bottom: 0; }

body.customer-v2022 .article-body .inner > figure,
body.customer-v2022 .article-body .inner > .columned { margin: 40px 0; }
body.customer-v2022 .article-body .inner > .columned { display: flex; justify-content: space-between; flex-wrap: wrap; }
body.customer-v2022 .article-body .inner > figure img { width: 100%; height: auto; }
body.customer-v2022 .article-body .inner > .columned figure { width: calc(50% - 5px); margin-bottom: 40px; }
body.customer-v2022 .article-body .inner > .columned figure:last-child { margin-bottom: 0; }
body.customer-v2022 .article-body .inner > .columned img { width: 100%; height: auto; }
body.customer-v2022 .article-body .inner > .columned figcaption { font-size: 1.3rem; font-weight: 350; line-height: 2; }

body.customer-v2022 .article-body .buttons a .replace { width: 150px; height: 19px; }
body.customer-v2022 .article-body .buttons a .replace::after { background-image: url(/media/daiichi-keiri-news-v2022/logo_daiichi-keiri-news.svg); }

body.customer .article-footer { margin: 50px 0; }

body.customer .article-footer h3 { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; margin-bottom: 20px; position: relative; }
body.customer .article-footer h3 > .inner { flex: 0 0 calc(100% - 16px); }
body.customer .article-footer h3 > .inner span { display: inline-flex; align-items: center; height: 64px; background-color: #ea5504; border-radius: 0 32px 32px 0; padding-left: 8px; padding-right: 32px; box-sizing: border-box; }
body.customer .article-footer h3::after { content: ''; display: block; height: 64px; flex: 1 0 16px; }

body.customer .article-footer h3 > .inner span { min-width: 280px; }
body.customer .article-footer ol li { display: flex; align-items: center; border-bottom: 1px solid #b7b7b7; }
body.customer .article-footer ol li a { display: inline-block; width: calc(100% - 100px); text-decoration: none; background: url(/media/common/arrow_next.svg) no-repeat calc(100% - 10px) center; background-size: auto 18px; padding: 17px 35px 17px 0; }
body.customer .styled .section-footer ol li a span { display: inline-block; vertical-align: middle; width: auto; font-size: 1.4rem; font-weight: 700; text-decoration: none; transition: .25s; }
body.customer .styled .section-footer ol li a:hover span { color: #ea5504; }
body.customer .article-footer ol li::before { content: none; }
body.customer .article-footer ol li > span:first-child { display: inline-block; width: auto; font-family: 'Noto Serif CJK JP', serif; font-size: 4rem; font-weight: 500; line-height: 1; text-align: center; border-bottom: 2px solid #595757; margin: 0 10px 0 10px; }

body.customer_01 .article-footer ol li.customer_01,
body.customer_02 .article-footer ol li.customer_02,
body.customer_03 .article-footer ol li.customer_03 { cursor: default; pointer-events: none; opacity: .25; }

/* 07 */
body.customer_07 .article-body .inner h2 .columned.custom { background-position: 70px 5px; }
body.customer_07 .article-body .inner h2 .interviewee .customer_07 > span:not(:last-child) { display: block; margin-bottom: 10px; }
body.customer_07 .article-body .inner > figure.last { margin-bottom: 60px; }
body.customer_07 .article-body .inner > .columned figure { margin-bottom: 15px; }
body.customer_07 .article-body .inner > .columned { margin-bottom: 0; }
body.customer_07 .article-body .inner > .boxed { margin-top: 0; }



/* daiichi-keiri seminar
   ========================================================================== */

body.daiichi-keiri-seminar .article-header,
body.daiichi-keiri-seminar .article-body { margin: 0 auto 100px; }
body.daiichi-keiri-seminar .article-header { height: calc(100vh - 54px); background-repeat: no-repeat; background-position: center center; background-size: cover; margin-bottom: 50px; }

body.daiichi-keiri-seminar .article-body .inner { padding: 0 15px; }
body.daiichi-keiri-seminar .article-body .inner .section:first-of-type { margin-bottom: 60px; }

body.daiichi-keiri-seminar .article-body .inner h2 .logo.replace { width: 237px; height: 40px; margin-bottom: 20px; }
body.daiichi-keiri-seminar .article-body .inner h2 .logo.replace::after { background-image: url(/media/daiichi-keiri-seminar/logo_daiichi-keiri-seminar.svg); }
body.daiichi-keiri-seminar .article-body .inner h2 .shoulder { display: inline-flex; justify-content: center; align-items: center; height: 20px; color: #fff; font-size: 1rem; font-weight: 500; background-color: #ea5504; border-radius: 10px; padding: 0 13px; box-sizing: border-box; }
body.daiichi-keiri-seminar .article-body .inner h2 .heading { display: block; font-family: 'Noto Serif CJK JP', serif; font-size: 3.6rem; font-weight: 700; line-height: 1.3; margin: 10px 0 20px; }

body.daiichi-keiri-seminar .article-body .inner h4,
body.daiichi-keiri-seminar .article-body .inner h4 .heading,
body.daiichi-keiri-seminar .article-body .inner h5 .heading { display: block; }
body.daiichi-keiri-seminar .article-body .inner h4 { width: calc(100% - 110px); margin: 0; }
body.daiichi-keiri-seminar .article-body .inner h4 .heading { font-size: 1.5rem; margin: 5px 0; }
body.daiichi-keiri-seminar .article-body .inner h4 .sub { color: #ea5504; font-family: 'Noto Sans CJK JP', sans-serif; font-size: 1.1rem; font-weight: 500; line-height: 1.5; }
body.daiichi-keiri-seminar .article-body .inner h5 { margin-bottom: 10px; }
body.daiichi-keiri-seminar .article-body .inner h5 .heading { font-size: 1.3rem; font-weight: 500; line-height: 1.7; }
body.daiichi-keiri-seminar .article-body .inner h5 .shoulder { display: inline-block; color: #ea5504; font-size: 1.4rem; font-weight: 700; border-bottom: 1px solid #ea5504; transform: rotate(-5deg); transform-origin: 0 0; }
body.daiichi-keiri-seminar .article-body .inner h4 .shoulder,
body.daiichi-keiri-seminar .article-body .inner h6 { display: inline-flex; justify-content: center; align-items: center; height: 20px; color: #fff; font-family: 'Noto Sans CJK JP', sans-serif; font-size: 1rem; font-weight: 500; background-color: #ea5504; border-radius: 10px; padding: 0 13px; margin-bottom: 10px; box-sizing: border-box; }
body.daiichi-keiri-seminar .article-body .inner h6 { background-color: #9cd54f; margin-top: 0; }

body.daiichi-keiri-seminar .article-body .inner p.lead { font-size: 1.4rem; font-weight: 500; line-height: 1.7; margin-bottom: 40px; }
body.daiichi-keiri-seminar .article-body .inner p.intro { font-size: 1.3rem; font-weight: 500; line-height: 1.8; border-top: 1px solid #707070; border-bottom: 1px solid #707070; padding: 30px 0; margin-bottom: 40px; }

body.daiichi-keiri-seminar .article-body .inner figure,
body.daiichi-keiri-seminar .article-body .inner figure img { width: 100px; height: auto; }
body.daiichi-keiri-seminar .article-body .inner figure figcaption { font-size: 1.4rem; font-weight: 500; text-align: center; }

body.daiichi-keiri-seminar .article-body .inner .section > .block { margin: 36px 0; }
body.daiichi-keiri-seminar .article-body .inner .section > .block .columned { display: flex; margin-bottom: 5px; }

body.daiichi-keiri-seminar .article-body .inner .boxed.book { display: flex; justify-content: center; align-items: flex-end; background-color: rgba(89, 87, 87, .2); border: none; border-radius: 20px; }
body.daiichi-keiri-seminar .article-body .inner .boxed.book figure,
body.daiichi-keiri-seminar .article-body .inner .boxed.book figure img,
body.daiichi-keiri-seminar .article-body .inner .boxed.book figure figcaption { width: 150px; }
body.daiichi-keiri-seminar .article-body .inner .boxed.book figure { display: flex; flex-direction: column; width: auto; margin-bottom: 0; }
body.daiichi-keiri-seminar .article-body .inner .boxed.book figure img { box-shadow: 3px 3px 6px rgba(0, 0, 0, .16); }
body.daiichi-keiri-seminar .article-body .inner .boxed.book figure figcaption { font-size: 1rem; font-weight: 500; line-height: 1.7; text-align: left; }

body.daiichi-keiri-seminar .article-body .inner .boxed.review { border: 1px solid #707070; border-radius: 20px; padding: 15px 10px; }
body.daiichi-keiri-seminar .article-body .inner .boxed.review .columned { display: flex; justify-content: space-between; /* align-items: flex-end; */ }
body.daiichi-keiri-seminar .article-body .inner .boxed.review p { width: calc(100% - 110px); }
body.daiichi-keiri-seminar .article-body .inner .boxed.review figure { margin: 0; }

body.daiichi-keiri-seminar .inner .boxed.comments { border: 1px solid #9cd54f; padding: 15px 10px; }
body.daiichi-keiri-seminar .inner .boxed.comments .block { display: flex; justify-content: space-between; }
body.daiichi-keiri-seminar .inner .boxed.comments .columned > .block:first-of-type { border-bottom: 1px solid #9cd54f; padding-bottom: 15px; margin-bottom: 15px; }
body.daiichi-keiri-seminar .inner .boxed.comments .block p { width: calc(100% - 110px); }

body.daiichi-keiri-seminar .article-body .buttons a .replace { width: 150px; height: 19px; }
body.daiichi-keiri-seminar .article-body .buttons a .replace::after { background-image: url(/media/daiichi-keiri-news-v2022/logo_daiichi-keiri-news.svg); }

body.daiichi-keiri-seminar .article-footer { margin: 50px 0; }

body.daiichi-keiri-seminar .article-footer h3 { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; margin-bottom: 20px; position: relative; }
body.daiichi-keiri-seminar .article-footer h3 > .inner { flex: 0 0 calc(100% - 16px); }
body.daiichi-keiri-seminar .article-footer h3 > .inner span { display: inline-flex; align-items: center; height: 64px; background-color: #ea5504; border-radius: 0 32px 32px 0; padding-left: 8px; padding-right: 32px; box-sizing: border-box; }
body.daiichi-keiri-seminar .article-footer h3::after { content: ''; display: block; height: 64px; flex: 1 0 16px; }

body.daiichi-keiri-seminar .article-footer h3 > .inner span { min-width: 280px; }
body.daiichi-keiri-seminar .article-footer ol li { display: flex; align-items: center; border-bottom: 1px solid #b7b7b7; }
body.daiichi-keiri-seminar .article-footer ol li a { display: inline-block; width: calc(100% - 100px); text-decoration: none; background: url(/media/common/arrow_next.svg) no-repeat calc(100% - 10px) center; background-size: auto 18px; padding: 17px 35px 17px 0; }
body.daiichi-keiri-seminar .styled .section-footer ol li a span { display: inline-block; vertical-align: middle; width: auto; font-size: 1.4rem; font-weight: 700; text-decoration: none; transition: .25s; }
body.daiichi-keiri-seminar .styled .section-footer ol li a:hover span { color: #ea5504; }
body.daiichi-keiri-seminar .article-footer ol li::before { content: none; }
body.daiichi-keiri-seminar .article-footer ol li > span:first-child { display: inline-block; width: auto; font-family: 'Noto Serif CJK JP', serif; font-size: 4rem; font-weight: 500; line-height: 1; text-align: center; border-bottom: 2px solid #595757; margin: 0 10px 0 10px; }



/* employee
   ========================================================================== */

body.employee .billboard h1 { margin-bottom: 0; }

body.employee .article-body > section { margin-top: 60px; }
body.employee .article-body > section:first-of-type { margin-top: 0; }

body.employee .section-header .extras { display: flex; }
body.employee .section-header .extras > .inner { flex: 0 0 304px; }
body.employee .section-header .extras img { width: 228px; height: auto; }
body.employee .section-header .extras > .inner .image { display: inline-flex; align-items: center; min-width: calc(100% - 8px); height: 178px; background-color: #dedddd; border-radius: 89px 0 0 89px; padding-left: 76px; padding-right: 8px; box-sizing: border-box; }
body.employee .section-header .extras::before { content: ''; display: block; height: 178px; flex: 1 0 auto; }

body.employee .section-header h3 { display: flex; color: #fff; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; margin-bottom: 20px; }
body.employee .section-header h3 > .inner { flex: 0 0 calc(100% - 16px); }
body.employee .section-header h3 > .inner span { display: inline-flex; align-items: center; height: 64px; background-color: #ea5504; border-radius: 0 32px 32px 0; padding-left: 16px; padding-right: 32px; box-sizing: border-box; }
body.employee section.president .section-header h3 > .inner span br { display: none; }
body.employee .section-header h3::after { content: ''; display: block; height: 64px; flex: 1 0 16px; }
@media (width: 320px) {
body.employee .article-body > section:nth-of-type(1) .section-header  h3 > .inner span { padding-right: 16px; }
}

body.employee .section-header .shoulder span { display: inline-block; vertical-align: top; font-size: 1.4rem; font-weight: 700; line-height: 1.4; }
body.employee .section-header .shoulder.sub { margin: 0 16px 12px; }

body.employee .section-header .shoulder.main { margin: 0 8px -7px; }
body.employee .section-header .shoulder.main > .inner { display: flex; align-items: center; }
body.employee .section-header .shoulder.main svg { width: 52px; height: 60px; fill: #b5ea04; transform: rotate(350deg); margin-right: 5px; }

body.employee .section-body > p { padding: 0 16px; }

body.employee .section-body .boxed { width: calc(100% - 32px); border: 1px dotted #707070; padding: 10px; box-sizing: border-box; margin: 50px auto 0; }
body.employee .section-body .boxed h6 { margin-top: 0; position: relative; }

body.employee .section-body .boxed h6 .sub { display: block; font-size: 1.1rem; font-weight: 700; position: absolute; left: 0; top: -40px; transform: rotate(-5deg); }
body.employee .section-body .boxed h6 .sub::before,
body.employee .section-body .boxed h6 .sub::after { content: ''; background-color: #ea5504; width: 1px; height: 16px; position: absolute; top: 0; }
body.employee .section-body .boxed h6 .sub::before { transform: translate(-16px, 0) rotate(-30deg); left: 0; }
body.employee .section-body .boxed h6 .sub::after { transform: translate(16px, 0) rotate(30deg); right: 0; }

body.employee .section-footer .extras { display: flex; margin-top: 20px; }
body.employee .section-footer .extras img { width: 190px; height: auto; }
body.employee .section-footer .extras > .inner { position: relative; }
body.employee .section-footer .small.no-caption.single > .inner .image { display: flex; align-items: center; width: calc(100% - 8px); height: 148px; background-color: rgba(181, 234, 4, .5); border-radius: 0 74px 74px 0; padding-left: 8px; padding-right: 74px; box-sizing: border-box; }

body.employee .article-body > section:nth-of-type(2) .section-header .shoulder.main svg { fill: #049aea; }
body.employee .article-body > section:nth-of-type(2) .section-footer .extras > .inner .image,
body.employee .article-body > section:nth-of-type(2) .section-footer .extras::before { background-color: rgba(4, 154, 234, .5); }

/* president */
body.employee .president { background-color: rgba(89, 87, 87, .2); padding-top: 10px; }

body.employee .president .section-header h3 > .inner span { height: 76px; background-color: #595757; border-radius: 0 38px 38px 0; padding-right: 38px; }

body.employee .president .section-header .shoulder.sub { margin: 0 8px 20px; }
body.employee .president .section-header .shoulder.sub span,
body.employee .president .section-header .shoulder.sub svg { display: inline-block; vertical-align: middle; }
body.employee .president .section-header .shoulder.sub svg { width: 70px; height: 80px; fill: #ea5504; margin-right: 10px; }
body.employee .president .section-header .shoulder.sub svg text { font-family: 'Noto Serif CJK JP'; font-size: 1.7em; font-weight: 500; fill: #595757; }
body.employee .president .section-header .shoulder.sub span { font-family: 'Noto Serif CJK JP', serif; font-size: 3.3rem; font-weight: 700; line-height: 1; }
body.employee .president .section-header .shoulder.main { margin: 15px 16px 5px; }

body.employee .president .section-header .extras > .inner .image { background-color: #ea5504; }

body.employee .president .section-footer .extras { display: block; margin-top: 50px; }

body.employee .president .section-footer .extras.small.captioned .sub { color: #ea5504; font-size: 1.1rem; font-weight: 700; position: absolute; left: 36px; top: -30px; transform: rotate(-5deg); }
body.employee .president .section-footer .extras.small.captioned .sub::before,
body.employee .president .section-footer .extras.small.captioned .sub::after { content: ''; background-color: #ea5504; width: 1px; height: 16px; position: absolute; top: 0; }
body.employee .president .section-footer .extras.small.captioned .sub::before { transform: translate(-16px, 0) rotate(-30deg); left: 0; }
body.employee .president .section-footer .extras.small.captioned .sub::after { transform: translate(16px, 0) rotate(30deg); right: 0; }

body.employee .president .section-footer .extras.small.captioned > .inner .image { background-color: #595757; padding: 20px 16px; }
body.employee .president .section-footer .extras.small.captioned > .inner .image figure:first-child { margin-bottom: 20px; }
body.employee .president .section-footer .extras.small.captioned > .inner .image figcaption { display: block; color: #fff; }
body.employee .president .section-footer .extras.small.captioned .sub img { width: 105px; height: 24px; position: absolute; left: 10px; top: -30px; }

/* employee v2022 */
body.employee .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_employee_202208_header.jpg); margin-top: 100px; height: calc(100% - 100px); }
body.employee-01 .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_employee-01_header.jpg); }
body.employee-02 .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_employee-02_header.jpg); }

body.employee section.employee { margin: 50px auto 60px; }
body.employee-03 section:last-of-type { margin-bottom: 100px; }

body.employee section.employee h2 { font-family: 'Noto Serif CJK JP', serif; font-size: 1.8rem; font-weight: 700; line-height: 1.3; text-align: center; margin: 50px auto; }
body.employee.index section.employee h2 { margin-bottom: 50px; }
body.employee section.employee .boxed { width: calc(100% - 30px); border: 1px solid #707070; border-radius: 20px; padding: 50px 15px 10px; margin: 50px auto 30px; box-sizing: border-box; position: relative; }

body.employee-01 section.employee .boxed.employee-01,
body.employee-02 section.employee .boxed.employee-02 { border: none; padding: 0; margin-bottom: 30px; }
body.employee.index section.employee .boxed,
body.employee-01 section.employee .boxed.employee-02,
body.employee-02 section.employee .boxed.employee-01 { margin-top: 80px; }

body.employee section.employee .buttons { width: 100%; }
body.employee section.employee > .buttons { padding: 10px 15px; }
body.employee section.employee .boxed .buttons { text-align: center; }
body.employee section.employee .boxed h3 { width: 250px; font-family: 'Noto Serif CJK JP', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.5; border: 1px solid #707070; border-radius: 20px; background-color: #fff; padding: 10px 15px; box-sizing: border-box; }
body.employee.index section.employee .boxed h3,
body.employee-02 section.employee .boxed.employee-01 h3,
body.employee-01 section.employee .boxed.employee-02 h3 { position: absolute; left: -1px; top: -40px; }

body.employee section.employee .boxed .columned { width: 100%; display: flex; justify-content: space-between; background-repeat: no-repeat; background-position: center calc(100% - 40px); background-size: 50px; padding: 0 15px; margin: 10px auto; box-sizing: border-box; }
body.employee.index section.employee .boxed .columned,
body.employee-01 section.employee .boxed.employee-02 .columned,
body.employee-02 section.employee .boxed.employee-01 .columned { padding: 0; }
body.employee section.employee .boxed .block { width: 130px; height: 220px; background-repeat: no-repeat; background-position: center bottom; background-size: contain; }
body.employee section.employee .boxed .block > span { font-size: 1.3rem; font-weight: 700; line-height: 1.8; }
body.employee section.employee .boxed .block > span span { display: inline-block; }
body.employee section.employee .boxed .block > span span:first-child { margin-right: 20px; }

body.employee section.employee .boxed.employee-01 .block:first-of-type { background-image: url(/media/employee/employee_202208_fig_01.png); }
body.employee section.employee .boxed.employee-01 .block:last-of-type { background-image: url(/media/employee/employee_202208_fig_02.png); }
body.employee section.employee .boxed.employee-02 .block:first-of-type { background-image: url(/media/employee/employee_202208_fig_03.png); }
body.employee section.employee .boxed.employee-02 .block:last-of-type { background-image: url(/media/employee/employee_202208_fig_04.png); }

body.employee section.employee .boxed.employee-01 .columned { background-image: url(/media/employee/mobile/employee_202208_fig_05.svg);  }
body.employee section.employee .boxed.employee-02 .columned { background-image: url(/media/employee/mobile/employee_202208_fig_06.svg);  }

body.employee-03 .section-header .extras { display: none; }

body.employee section.employee > h3 { display: flex; justify-content: flex-start; align-items: center; height: 70px; font-size: 1.4rem; font-weight: 500; line-height: 1.4; padding: 0 30px; margin: 0 auto; }

body.employee section.employee .block.bordered { padding: 0 40px 0; }

body.employee section.employee .expandable-list > ul li .block { max-height: 2500px; margin: 0 auto; position: relative; overflow: hidden; opacity: 1; z-index: 2; }
body.employee section.employee .expandable-list > ul { perspective: 1000px; }
body.employee section.employee .expandable-list > ul li { position: relative; }
body.employee section.employee .expandable-list > ul li i { position: absolute; right: 15px; top: 100px; }
body.employee section.employee .expandable-list > ul li i::before,
body.employee section.employee .expandable-list > ul li i::after { content: ''; position: absolute; width: 2px; height: 12px; }
body.employee section.employee .expandable-list > ul li i::before { transform: translate(-4px, 0) rotate(45deg); }
body.employee section.employee .expandable-list > ul li i::after { transform: translate(4px, 0) rotate(-45deg); }
body.employee section.employee .expandable-list > ul li input[type=checkbox]:checked ~ i::before { transform: translate(4px, 0) rotate(45deg); }
body.employee section.employee .expandable-list > ul li input[type=checkbox]:checked ~ i::after { transform: translate(-4px, 0) rotate(-45deg); }
body.employee section.employee .expandable-list > ul li input[type=checkbox] { position: absolute; cursor: pointer; width: 100%; height: 100%; z-index: 1; opacity: 0; }
body.employee section.employee .expandable-list > ul li input[type=checkbox]:checked ~ div { margin-top: 0; max-height: 0; opacity: 0; transform: translate(0, 50%); }
body.employee section.employee .expandable-list > ul li .block,
body.employee section.employee .expandable-list > ul li i::before,
body.employee section.employee .expandable-list > ul li i::after { transition: all .25s ease-in-out; }

body.employee section.employee .expandable-list .block { padding: 0 15px; }
body.employee section.employee .expandable-list h4 { display: flex; justify-content: flex-start; align-items: center; height: 120px; font-size: 1.4rem; font-weight: 500; line-height: 1.4; cursor: pointer; border-bottom: 1px solid; padding: 0 30px; }
body.employee section.employee .expandable-list .block p { font-feature-settings: 'palt'; font-size: 1.3rem; font-weight: 350; line-height: 1.8; background-repeat: no-repeat; background-position: left 3px; background-size: 80px; padding-left: 90px; margin: 25px 0; }
body.employee section.employee .expandable-list .block p b { font-weight: 500; }

body.employee-01 section.employee > h3 { background-color: #9ae522; }
body.employee-02 section.employee > h3 { background-color: #32c1e3; }
body.employee-01 section.employee .expandable-list h4 { border-bottom-color: #9cd54f; }
body.employee-02 section.employee .expandable-list h4 { border-bottom-color: #32c1e3; }
body.employee-01 section.employee .bordered { border-image: linear-gradient(to bottom, #9ae522 0%, #0eb700 100%) 1; }
body.employee-02 section.employee .bordered { border-image: linear-gradient(to bottom, #32c1e3 0%, #007fb7 100%) 1; }
body.employee-01 section.employee .expandable-list > ul li i::before,
body.employee-01 section.employee .expandable-list > ul li i::after { background-color: #9cd54f; }
body.employee-02 section.employee .expandable-list > ul li i::before,
body.employee-02 section.employee .expandable-list > ul li i::after { background-color: #32c1e3; }
body.employee-01 section.employee p.interviewee-01 { background-image: url(/media/employee/employee_202208_fig_07.png); }
body.employee-01 section.employee p.interviewee-02 { background-image: url(/media/employee/employee_202208_fig_08.png); }
body.employee-02 section.employee p.interviewee-01 { background-image: url(/media/employee/employee_202208_fig_09.png); }
body.employee-02 section.employee p.interviewee-02 { background-image: url(/media/employee/employee_202208_fig_10.png); }



/* company
   ========================================================================== */

body.company .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_company_header.jpg); margin-top: 100px; height: calc(100% - 100px); }
body.company .article-header h1 { margin-bottom: 0; }
body.company .article-header h1 > svg text { font-size: 1.5rem; }
body.company .article-header p.lead { background-color: transparent; padding: 0 16px; position: absolute; bottom: 12px; }

body.company .article-body > section { margin-top: 60px; }
body.company .article-body > section:first-of-type { margin-top: 0; }

body.company .extras { margin: -25px 0 30px; }
body.company section.overview > .section-body > .block > .extras { margin-top: 75px; }
body.company .extras img { width: 190px; height: auto; }
body.company .extras > .inner .image { display: inline-flex; align-items: center; width: calc(100% - 40px); height: 148px; background-color: #bdbcbc; border-radius: 74px 0 0 74px; padding-left: 74px; margin-left: 40px; box-sizing: border-box; }

body.company .section-header h3 { color: #fff; font-family: 'Noto Sans CJK JP', serif; font-size: 2.1rem; font-weight: 900; line-height: 1.3; margin: 0 0 20px; position: relative; z-index: 1; }
body.company .section-header h3 > .inner span { display: inline-flex; align-items: center; width: calc(100% - 8px); height: 64px; background-color: #ea5504; border-radius: 0 32px 32px 0; padding-left: 16px; padding-right: 32px; box-sizing: border-box; }

body.company .section-body h4 { padding: 0 16px; }

body.company .section-body > p { padding: 0 16px; }
body.company .section-body p.signature span { font-size: 1.8rem; font-weight: 700; line-height: 1; }
body.company .section-body p.signature .sub { display: block; font-size: 1.3rem; margin-bottom: 10px; }
body.company section.philosophy .section-body p { padding-left: 34px; }

body.company .section-body table { width: calc(100% - 32px); margin-bottom: 20px; margin-left: auto; margin-right: auto; }

body.company .section-body table.overview th { padding-bottom: 0; }
body.company .section-body table.overview th br { display: none; }
body.company .section-body table.overview td > span { display: block; }
body.company .section-body table.overview td > span { margin-top: 5px; }
body.company .section-body table.overview td > span:first-child { margin-top: 0; }
body.company .section-body table.overview td > span > span { display: inline-block; vertical-align: top; }
body.company .section-body table.overview td > span > span:first-child { width: 50%; }
body.company .section-body table.overview tr:nth-child(2) td > span > span:first-child { display: block; }
body.company .section-body table.overview tr:nth-child(2) td > span > span:nth-child(2) { width: 50%; }

body.company .section-body table.history { border-bottom: 1px solid #707070; margin-bottom: 15px; }
body.company .section-body table.history th,
body.company .section-body table.history td { font-size: 1.3rem; font-weight: 350; line-height: 1.4; border: none; padding: 15px 0; }
body.company .section-body table.history th { padding-bottom: 0; }
body.company .section-body table.history td { padding-top: 5px; }
body.company .section-body table.history tr:first-child th { border-top: 1px solid #707070; padding-top: 30px; }
body.company .section-body table.history tr:last-child td { padding-bottom: 30px; }
body.company section.overview .section-body .block > p { font-size: 1.1rem; line-height: 1.4; text-align: right; padding: 0 16px; }

body.company .section-body table.access { width: 100%; }
body.company .section-body table.access caption { color: #595757; font-size: 1.4rem; font-weight: 700; line-height: 1.3; border-top: 1px solid #707070; padding: 0 8px; margin-bottom: 0; }
body.company .section-body table.access caption span { display: block; background: url(/media/company/company_access_bullet.svg) no-repeat left center; background-size: 30px; padding: 12px 0 12px 35px; }
body.company .section-body table.access th,
body.company .section-body table.access td { border: none; padding: 0 16px 0 42px; }
body.company .section-body table.access tr:first-child th:first-child { border-top: 1px solid #707070; padding-top: 10px; }
body.company .section-body table.access th { padding-top: 5px; padding-bottom: 5px; }
body.company .section-body table.access tr:nth-child(6) th:first-child { padding-top: 15px; }
body.company .section-body table.access td { padding-top: 2px; padding-bottom: 2px; }
body.company .section-body table.access th { font-size: 1.2rem; font-weight: 700; line-height: 1.4; }
body.company .section-body table.access td { font-size: 1rem; font-weight: 350; line-height: 1.6; }
body.company .section-body table.access td b { font-weight: 500; }
body.company .section-body table.access:last-of-type tr:first-child th:first-child { padding-top: 15px; }
body.company .section-body table.access:last-of-type tr:nth-child(3) th:first-child,
body.company .section-body table.access:last-of-type tr:nth-child(6) th:first-child,
body.company .section-body table.access:last-of-type tr:nth-child(9) th:first-child { padding: 0; }

section.access .map { margin-bottom: 20px; }
section.access .map .buttons { width: 100%; text-align: center; }

body.company section.access nav.lnav.switchable { margin: 40px auto 50px; }
body.company section.access nav.lnav.switchable ul { display: flex; margin-bottom: 0; }
body.company section.access nav.lnav.switchable ul li { width: 50%; margin-bottom: 0; }
body.company section.access nav.lnav.switchable ul li::before { content: none; }
body.company section.access nav.lnav.switchable ul li a { display: flex; justify-content: center; align-items: center; height: 50px; text-decoration: none; background-color: #e0dfdf; box-sizing: border-box; transition: .25s; }
body.company section.access nav.lnav.switchable span { width: auto; color: #595757; font-size: 1.7rem; font-weight: 900; text-decoration: none; opacity: .5; }
body.company section.access nav.lnav.switchable span br { display: none; }
body.company section.access nav.lnav.switchable ul li a:hover,
body.company section.access nav.lnav.switchable ul li a.selected { background-color: #fff; border: 1px solid #707070; box-shadow: 2px 2px 4px rgba(0, 0, 0, .2); }
body.company section.access nav.lnav.switchable ul li a:hover span,
body.company section.access nav.lnav.switchable ul li a.selected span { opacity: 1; }



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

body.news.index .article-header { margin-bottom: 0; }
body.news.index .billboard::before { background-image: url(/media/article-header/mobile/bg_news_header.jpg); height: 240px; }

body.news .article-header h1 { display: block; }
body.news .article-header h1 > .text { display: inline-block; }
body.news .article-header h1 > .text > .heading { font-size: 3.2rem; }
body.news .article-header h1 > .text > .sub { font-family: 'Noto Serif CJK JP'; font-size: 1.7rem; font-weight: 500; line-height: 1; width: 100%; text-align: center; }
body.news .article-header h1 > .sub { display: block; font-size: 1.3rem; font-weight: 700; line-height: 1; margin-top: 13px; }

body.news.leaf .article-header { margin-bottom: 30px; }

body.news h6 { color: #595757; }

body.news.leaf article > .article-body > h1 { padding: 0 10px; margin: 0 auto 30px; }
body.news.leaf article > .article-body > h1 .text,
body.news.leaf article > .article-body > h1 .text > span { display: block; }
body.news.leaf article > .article-body > h1 .text > .heading { font-size: 1.4rem; font-weight: 700; line-height: 1.6; }
body.news.leaf article > .article-body > h1 .text > .extras { display: flex; align-items: center; margin-bottom: 5px; }
body.news.leaf article > .article-body > h1 .text .date { font-size: 1.1rem; font-weight: 350; margin-right: 10px; }



/* publication
   ========================================================================== */

body.publication .article-body.styled > section { padding: 0 16px; margin: 0 auto 84px; }
body.publication .article-body.styled > section h5 { line-height: 1.8; margin-bottom: 8px; }

body.publication .article-body.styled > section figure { display: flex; justify-content: center; margin-bottom: 20px; }
body.publication .article-body.styled > section figure img { max-width: 200px; max-height: 200px; object-fit: contain; }

body.publication .article-body.styled > section p { margin-bottom: 16px; }

body.publication .article-body.styled > section table th,
body.publication .article-body.styled > section table td { display: table-cell; font-weight: 500; line-height: 1.5; border: none; border-bottom: 1px solid #707070; padding: 10px 0 5px; }
body.publication .article-body.styled > section table tr:first-child th,
body.publication .article-body.styled > section table tr:first-child td { border-top: 1px solid #707070; }

body.publication .article-body.styled > section .buttons { padding: 10px 0 0; }



/* daiichi-keiri news
   ========================================================================== */

body.daiichi-keiri-news section { padding: 0 16px; }

body.daiichi-keiri-news section figure { text-align: center; }
body.daiichi-keiri-news section figure img { width: 200px; height: auto; box-shadow: 2px 2px 6px rgba(0, 0, 0, .2); font-family: 'object-fit: cover;'; border: 1px solid #707070; box-sizing: border-box; }

body.daiichi-keiri-news section .text h2,
body.daiichi-keiri-news section .text h3 { margin-bottom: 12px; }

body.daiichi-keiri-news section .text h2 span,
body.daiichi-keiri-news section .text h3 span { display: block; }

body.daiichi-keiri-news section .text h2 span { font-weight: 700; line-height: 1;  }
body.daiichi-keiri-news section .text h2 .heading { font-size: 2rem; }
body.daiichi-keiri-news section .text h2 .sub { font-size: 1rem; margin-bottom: 7px; }

body.daiichi-keiri-news section .text h3 .shoulder { font-size: .9rem; font-weight: 350; line-height: 1; }
body.daiichi-keiri-news section .text h3 .heading { font-family: 'Noto Serif CJK JP'; font-size: 2.2rem; font-weight: 700; line-height: 1.3; }
body.daiichi-keiri-news section .text h3 .pickup { min-height: 28px; background: url(/media/daiichi-keiri-news/icon_pickup.svg) no-repeat left center; background-size: 16px; padding-left: 20px; display: flex; align-items: center; }
body.daiichi-keiri-news section .text h3 .sub { font-family: 'Noto Serif CJK JP'; font-size: 1.2rem; font-weight: 700; }
body.daiichi-keiri-news section .text h3 .heading ~ .sub { margin-top: 10px; }
body.daiichi-keiri-news section .text h3 .interviewee { font-size: .9rem; font-weight: 500; line-height: 1; margin-top: 10px; }

body.daiichi-keiri-news section .text p { font-family: 'Noto Serif CJK JP'; font-weight: 700; line-height: 1.6; margin-bottom: 0; }

body.daiichi-keiri-news section .buttons { text-align: center; }

body.daiichi-keiri-news .index-list p.enlarged.align-left { font-size: 1.6rem; font-weight: 500; margin-bottom: 30px; text-align: center; }
body.daiichi-keiri-news .index-list p.enlarged.align-center { font-size: 1.8rem; font-weight: 350; margin: 45px 0 105px; }
body.daiichi-keiri-news .index-list p.enlarged a { text-decoration: underline; }



/* daiichi-keiri news v2022
   ========================================================================== */

body.daiichi-keiri-news-v2022 .article-header-dknv2022 img { width: 100%; height: auto; }
body.daiichi-keiri-news-v2022 .article-header-dknv2022 h1 { text-align: center; margin: 40px auto; }
body.daiichi-keiri-news-v2022 .article-header-dknv2022 .logo { width: 345px; height: 44px; margin: 10px auto 15px; }
body.daiichi-keiri-news-v2022 .article-header-dknv2022 .logo.replace::after { background-image: url(/media/daiichi-keiri-news-v2022/logo_daiichi-keiri-news.svg); }
body.daiichi-keiri-news-v2022 .article-header-dknv2022 h1 .sub:first-child { font-size: 1.3rem; font-weight: 700; line-height: 1.8; }
body.daiichi-keiri-news-v2022 .article-header-dknv2022 h1 .sub:last-child { font-family: 'Noto Serif CJK JP', serif; font-size: 1.8rem; font-weight: 700; }

body.daiichi-keiri-news-v2022 .section-customer,
body.daiichi-keiri-news-v2022 .section-daiichi-keiri-seminar { display: flex; flex-direction: column; padding: 0 15px; }
body.daiichi-keiri-news-v2022 .section-customer { margin-bottom: 40px; }
body.daiichi-keiri-news-v2022 .section-daiichi-keiri-seminar { margin-bottom: 80px; }
body.daiichi-keiri-news-v2022 .section-customer img,
body.daiichi-keiri-news-v2022 .section-daiichi-keiri-seminar img { width: 100%; height: auto; margin-bottom: 44px; }

body.daiichi-keiri-news-v2022 .article-body .text h3 > span { display: block; }
body.daiichi-keiri-news-v2022 .article-body .text h3 .columned { display: flex; background: url(/media/daiichi-keiri-news-v2022/icon_x.svg) no-repeat 75px center; background-size: 40px; }
body.daiichi-keiri-news-v2022 .article-body .text h3 .columned.custom { background-position: 70px 5px; }
body.daiichi-keiri-news-v2022 .article-body .text h3 .shoulder { font-size: 1.5rem; font-weight: 350; margin-bottom: 33px; }
body.daiichi-keiri-news-v2022 .article-body .text h3 .sub,
body.daiichi-keiri-news-v2022 .article-body .text h3 .interviewee { font-size: 1.4rem; font-weight: 500; line-height: 1.7; }
body.daiichi-keiri-news-v2022 .article-body .text h3 .interviewee .customer_07 > span:not(:last-child) { display: block; margin-bottom: 10px; }
body.daiichi-keiri-news-v2022 .article-body .text h3 .sub { margin-right: 40px; }
body.daiichi-keiri-news-v2022 .article-body .text h3 .heading { font-family: 'Noto Serif CJK JP', serif; font-size: 3.6rem; font-weight: 700; line-height: 1.3; margin: 15px 0; }
body.daiichi-keiri-news-v2022 .article-body .text p { font-size: 1.4rem; font-weight: 500; line-height: 1.7; }
body.daiichi-keiri-news-v2022 .article-body .text .buttons { width: auto; text-align: center; padding: 0; margin-top: 16px; }

body.daiichi-keiri-news-v2022 .section-customer .text { order: 2; }
body.daiichi-keiri-news-v2022 .section-customer > img { order: 1; }
body.daiichi-keiri-news-v2022 .section-daiichi-keiri-seminar .text { order: 2; }
body.daiichi-keiri-news-v2022 .section-daiichi-keiri-seminar > img { order: 1; }
body.daiichi-keiri-news-v2022 .section-daiichi-keiri-seminar h3 .logo { width: 193px; height: 20px; }
body.daiichi-keiri-news-v2022 .section-daiichi-keiri-seminar h3 .logo.replace::after { background-image: url(/media/daiichi-keiri-news-v2022/logo_daiichi-keiri-seminar_s.svg); }

body.daiichi-keiri-news-v2022.leaf .section-daiichi-keiri-seminar { margin-bottom: 30px; }
body.daiichi-keiri-news-v2022 .article-body .buttons { text-align: center; margin: 0 auto 50px; }
body.daiichi-keiri-news-v2022 .article-body .buttons a .replace { width: 150px; height: 19px; }
body.daiichi-keiri-news-v2022 .article-body .buttons a .replace::after { background-image: url(/media/daiichi-keiri-news-v2022/logo_daiichi-keiri-news.svg); }



/* ichiichi-kai
   ========================================================================== */

body.ichiichi-kai .article-header { background: linear-gradient(to right, #595757 0%, rgba(119, 118, 118, .2) 100%); }
body.ichiichi-kai .article-header h1 { background: none; padding-bottom: 0; }
body.ichiichi-kai .article-header h1 img { width: 60px; height: 60px; margin-right: 10px; }
body.ichiichi-kai .article-header h1 .sub { display: none; }
body.ichiichi-kai .article-header p.lead { background: none; padding-top: 0; }

body.ichiichi-kai section { padding: 0 16px; margin-bottom: 40px; }

body.ichiichi-kai section figure { text-align: center; }
body.ichiichi-kai section figure img { width: 200px; height: auto; box-shadow: 2px 2px 6px rgba(0, 0, 0, .2); font-family: 'object-fit: cover;'; border: 1px solid #707070; box-sizing: border-box; }

body.ichiichi-kai section .text h2 span,
body.ichiichi-kai section .text h3 span { display: block; }

body.ichiichi-kai section .text h2 { margin-bottom: 30px; }
body.ichiichi-kai section .text h2 img { width: 273px; height: 74px; }
body.ichiichi-kai section .text h2 .sub { font-size: 1.6rem; color: #000; font-weight: 500; line-height: 1; margin-bottom: 10px; }

body.ichiichi-kai section .text h3,
body.ichiichi-kai section .text h4 { display: block; position: relative; margin: 0; }
body.ichiichi-kai section .text h3 span,
body.ichiichi-kai section .text h4 span { display: block; }
body.ichiichi-kai section .text h3 .heading,
body.ichiichi-kai section .text h4 .heading { color: #ea5504; font-family: 'Noto Serif CJK JP'; font-weight: 700; line-height: 1.3; margin-bottom: 5px; }
body.ichiichi-kai section .text h3 .heading { font-size: 3.6rem; }
body.ichiichi-kai section .text h4 .heading { font-size: 2rem; }
body.ichiichi-kai section .text h3 .sub,
body.ichiichi-kai section .text h4 .sub { font-family: 'Noto Sans CJK JP'; font-size: 1.3rem; font-weight: 700; line-height: 1.6; }
body.ichiichi-kai section .text .shoulder { display: block; font-size: 0; margin: 10px 0; }
body.ichiichi-kai section .text .shoulder .heading { display: inline-block; color: #fff; font-family: 'Noto Sans CJK JP'; font-size: 1.3rem; font-weight: 350; line-height: 1; background-color: #ea5504; padding: 5px 10px; }
body.ichiichi-kai section .text .shoulder .sub { display: block; font-family: 'Noto Sans CJK JP'; font-size: .9rem; font-weight: 500; margin-bottom: 5px; }

body.ichiichi-kai section .buttons { text-align: center; }



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

body.contact .article-header { margin-bottom: 35px; }

body.contact .article-body .styled p { margin-bottom: 0; }

body.contact .article-body .block h4 { display: block; font-size: 2rem; font-weight: 700; line-height: 1; text-align: center; margin-bottom: 15px; }
body.contact .article-body .block p { text-align: center; }
body.contact .article-body .block p.enlarged { color: #ea5504; font-family: 'Noto Serif CJK JP', serif; font-size: 4rem; font-weight: 500; line-height: 1; margin-bottom: 10px; }

body.contact .article-body .confirm h4 { font-size: 2.4rem; font-weight: 500; line-height: 1; margin-bottom: 20px; }
body.contact .article-body .confirm p { line-height: 2; margin-bottom: 0; }

body.contact .article-body .mw_wp_form form > label { display: block; width: calc(100% - 32px); padding-bottom: 25px; margin-left: auto; margin-right: auto; position: relative; }
body.contact .article-body .mw_wp_form form > label.select { padding-bottom: 5px; }
body.contact .article-body .mw_wp_form form > label.select ~ label.select { padding-bottom: 25px; }

body.contact .article-body .label { display: block; font-size: 1.8rem; font-weight: 700; margin-bottom: 10px; }
body.contact .article-body p.note,
body.contact .article-body .label .sub { color: #ea5504; }
body.contact .article-body .label .sub { font-weight: 700; }

body.contact .article-body .buttons { display: flex; justify-content: center; flex-wrap: wrap; }
body.contact .article-body button { flex: 0 0 auto; margin-top: 20px; }
body.contact .article-body button ~ button { margin-left: 10px; }

body.contact .article-body .article-body form { margin-top: 18px; }

body.contact .article-body label input.text,
body.contact .article-body label input.phone,
body.contact .article-body label select,
body.contact .article-body label textarea { width: 100%; font-size: 1.8rem; font-weight: 500; border-radius: 0; padding: 10px; box-sizing: border-box; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
body.contact .article-body label input.phone { width: 30%; } 
body.contact .article-body label input.text,
body.contact .article-body label input.phone,
body.contact .article-body label textarea { border: 1px solid #b7b7b7; }

body.contact .article-body label input::placeholder,
body.contact .article-body label textarea::placeholder { color: rgba(89, 87, 87, .25); }
body.contact .article-body label input::-webkit-input-placeholder,
body.contact .article-body label textarea::-webkit-input-placeholder { color: rgba(89, 87, 87, .25); }
body.contact .article-body label input:-ms-input-placeholder,
body.contact .article-body label textarea:-ms-input-placeholder { color: rgba(89, 87, 87, .25); }

body.contact .article-body label .select { display: block; width: 100%; border-radius: 4px; overflow: hidden; box-shadow: 1px 1px 2px rgba(0, 0, 0, .2); }
body.contact .article-body label select { text-overflow: ellipsis; background: url(/media/common/bg_select.svg) no-repeat calc(100% - 10px) center; background-size: 10px; padding: 10px; border: none; }
body.contact .article-body label select::-ms-expand { display: none; }

body.contact .article-body label.phone .mwform-tel-field,
body.contact .article-body label.radio > span.radio { display: flex; align-items: center; }
body.contact .article-body label.phone .mwform-tel-field { justify-content: space-between; }
body.contact .article-body label.radio > span.radio { justify-content: flex-start; width: 80%; margin: 0 auto; }
body.contact .article-body label.radio > span.radio > span + span { margin-left: 40px; }
body.contact .article-body label.radio > span.radio > span > label { display: flex; align-items: center; }

body.contact .article-body label.radio input.radio,
body.contact .article-body label.checkbox input.checkbox {
display: flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
vertical-align: middle;
background-color: #fff;
border: 1px solid #707070;
border-radius: 12px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
margin-right: 10px;
box-sizing: border-box;
}
body.contact .article-body label.radio input.radio::after,
body.contact .article-body label.checkbox input.checkbox::after {
content: '';
display: inline-block;
width: 18px;
height: 18px;
background-color: #fff;
border-radius: 9px;
transition: .25s;
}
body.contact .article-body label.checkbox input.checkbox,
body.contact .article-body label.checkbox input.checkbox::after { border-radius: 0; }
body.contact .article-body label.radio input.radio:checked::after,
body.contact .article-body label.checkbox input.checkbox:checked::after { background-color: #ea5504; }
body.contact .article-body label.radio .mwform-radio-field-text,
body.contact .article-body label.checkbox .mwform-checkbox-field-text { font-size: 1.8rem; font-weight: 700; }

.mw_wp_form_confirm label { cursor: default; }
.mw_wp_form_confirm label.text .text,
.mw_wp_form_confirm label.phone .phone,
.mw_wp_form_confirm label.select .select,
.mw_wp_form_confirm label.textarea .textarea { display: block; color: #000; padding: 15px; box-sizing: border-box; }
body.contact .article-body .mw_wp_form_confirm label.radio > span.radio { display: block; width: 100%; color: #000; padding: 15px; margin: 0; box-sizing: border-box; }
.mw_wp_form_confirm label span:last-of-type { font-size: 1.8rem; font-weight: 500; }
.mw_wp_form_confirm .label { opacity: .5; }
.mw_wp_form_confirm .label .sub { visibility: hidden; }
body.contact .mw_wp_form_confirm label.textarea .label { padding-top: 15px; }
body.contact .mw_wp_form .error { display: block; color: #ea5504; font-size: 1.1rem; font-weight: 400; position: absolute; bottom: 10px; left: 0; }
body.contact .mw_wp_form label.select .error { bottom: 20px; }
body.contact .article-body .mw_wp_form_confirm label .select { box-shadow: none; }
body.contact .article-body .mw_wp_form_confirm label.select span.select ~ span { margin-top: 0; }
.mw_wp_form_input .confirm,
.mw_wp_form_confirm .back { display: block; }
.mw_wp_form_input .back,
.mw_wp_form_confirm .confirm { display: none; }
body.contact .article-body .mw_wp_form form .confirm,
body.contact .article-body .mw_wp_form form .block,
body.contact .article-body .mw_wp_form form .back,
body.contact .article-body .mw_wp_form_complete { padding: 0 16px; margin: 30px 0; }
.mw_wp_form_send_error { font-size: 2.6rem; font-weight: 350; line-height: 1.8; margin-bottom: 32px; }

body.contact .button { font-size: 1.3rem; font-weight: 500; line-height: 1; background: none; }



/* saitama
   ========================================================================== */

/* article-header */
body.saitama .article-header.billboard { height: auto; background: url(/media/saitama/mobile/bg_saitama_header.jpg) no-repeat center top #595757; background-size: auto 574px; margin-bottom: 0; }
body.saitama .article-header.billboard::before { content: none; }
body.saitama .article-header h1 { display: block; width: 100%; max-width: none; height: 574px; min-height: auto; background: none; flex-direction: column; justify-content: center; }

body.saitama .article-header h1 > span { display: block; text-align: center; }

body.saitama .article-header h1 > .heading { width: 100%; height: 225px; margin-bottom: 20px; position: relative; }
body.saitama .article-header h1 > .heading span:first-child,
body.saitama .article-header h1 > .heading span:last-child { display: block; color: #595757; font-size: 2.6rem; font-weight: 400; position: absolute; }
body.saitama .article-header h1 > .heading span:first-child { top: 135px; left: calc(50% - 103px); }
body.saitama .article-header h1 > .heading span:last-child { top: 105px; right: calc(50% - 108px); transform: rotate(-10deg); }

body.saitama .article-header h1 > .enlarged { font-size: 2rem; font-weight: 700; }
body.saitama .article-header h1 > .sub { font-size: 1.4rem; font-weight: 700; line-height: 1.7; margin-top: 10px; }

body.saitama .article-header .emblem { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 170px; height: 55px; text-align: center; background: url(/media/saitama/bg_emblem_w.svg) no-repeat 0 0; background-size: contain; margin: 15px auto; }
body.saitama .article-header .emblem span { color: #fff; line-height: 1; }
body.saitama .article-header .emblem .sub { display: flex; align-items: center; font-family: 'Noto Serif CJK JP'; font-size: 1.2rem; font-weight: 500; margin: -7px 0 5px; }
body.saitama .article-header .emblem .sub::before,
body.saitama .article-header .emblem .sub::after { content: ''; display: inline-block; width: 6px; height: 6px; background-color: #fff; border-radius: 3px; margin-top: 2px; }
body.saitama .article-header .emblem .sub::before { margin-right: 7px; }
body.saitama .article-header .emblem .sub::after { margin-left: 7px; }
body.saitama .article-header .emblem .heading { display: inline-block; font-size: 1.3rem; font-weight: 400; }

/* article-body */
body.saitama section h1 { display: flex; align-items: center; padding: 0 8px; box-sizing: border-box; margin-bottom: 17px; }
body.saitama section h1 > span span { display: block; }
body.saitama section h1 > svg { width: 70px; height: 80px; fill: #ea5504; margin-right: 10px; flex: 0 0 70px; }
body.saitama section h1 > svg text { font-family: 'Noto Serif CJK JP'; font-size: 1.6rem; font-weight: 500; fill: #595757; }
body.saitama section h1 > span .heading { font-size: 2.1rem; font-weight: 900; padding-top: 10px; }
body.saitama section h1 > span .sub { font-size: 1.3rem; font-weight: 700; line-height: 1.7; margin-top: 5px; }

body.saitama .article-body .lead { width: 100%; margin-bottom: 90px; }
body.saitama .article-body .lead .inner { width: 100%; background-color: #fff; padding: 30px 20px; margin: 0 auto; box-sizing: border-box; }
body.saitama .article-body .lead p { font-size: 1.3rem; font-weight: 350; line-height: 1.8; margin-bottom: 30px; }
body.saitama .article-body .lead p:last-child { margin-bottom: 0; }
body.saitama .article-body .lead p strong { font-size: 1.5rem; font-weight: 700; line-height: 1.5; }
body.saitama .article-body .lead p b { font-size: 1.5rem; font-weight: 500; line-height: 1.5; }
body.saitama .article-body .lead p br { display: none; }
body.saitama .article-body p.note { font-size: 1rem; font-weight: 400; line-height: 1.4; padding: 0 20px; }

body.saitama .article-body > .wrapper:first-of-type { border-bottom: 1px solid #ea5504; padding-bottom: 80px; }
body.saitama .article-body > .wrapper:last-of-type { background: url(/media/saitama/bg_saitama_bottom.svg) no-repeat center bottom; background-size: 100% 154px; padding-top: 40px; margin-bottom: 6px; }

body.saitama section.customers { padding-bottom: 127px; }
body.saitama section.customers .item { float: left; width: 100%; padding: 10px; box-sizing: border-box; }
body.saitama section.customers .item:nth-of-type(2)  { float: right; }
body.saitama section.customers .item .inner { background-color: #faf4df; border: 1px solid #595757; padding: 30px 20px; box-sizing: border-box; position: relative; }
body.saitama section.customers .item .inner::before,
body.saitama section.customers .item .inner::after { content: ''; display: block; width: 56px; height: 1px; background-color: #595757; transform: rotate(-45deg); position: absolute;  }
body.saitama section.customers .item .inner::before { top: 10px; left: -20px; }
body.saitama section.customers .item .inner::after { bottom: 10px; right: -20px; }
body.saitama section.customers .item p { font-size: 1.2rem; font-weight: 350; line-height: 1.8; }
body.saitama section.customers .item p.sub { font-size: 1.3rem; font-weight: 500; line-height: 1; margin-top: 15px; }

/* contact box */
body.saitama #contact { height: 100px; background-color: #ea5504; position: relative; }
body.saitama #contact .inner { display: flex; justify-content: center; flex-direction: column; color: #fff; text-align: center; padding: 20px 0 0; }

body.saitama #contact p.decorated { width: 150px; font-size: 1.4rem; font-weight: 500; margin: 0 auto; position: relative; }
body.saitama #contact p.decorated::before,
body.saitama #contact p.decorated::after { content: ''; background-color: #fff; width: 1px; height: 30px; position: absolute; top: -7px; }
body.saitama #contact p.decorated::before { transform: translate(-20px, 0) rotate(-30deg); left: 0; }
body.saitama #contact p.decorated::after { transform: translate(20px, 0) rotate(30deg); right: 0; }
_:lang(x)::-ms-backdrop, body.saitama #contact p.decorated::before { left: calc(50% - 75px); } /* ie 11 */

body.saitama #contact .bound { display: flex; justify-content: center; flex-direction: column; margin-top: 5px; }
body.saitama #contact p.contact { display: flex; justify-content: center; align-items: center; font-family: 'Noto Serif CJK JP', serif; font-size: 2.7rem; font-weight: 500; line-height: 1; vertical-align: middle; margin: 10px auto 0; }
body.saitama #contact p.contact .sub { display: flex; height: 20px; align-items: center; font-family: 'Noto Sans CJK JP', sans-serif; font-size: .9rem; font-weight: 700; background: url(/media/houmu/icon_contact_w_l.svg) no-repeat left center; background-size: auto 20px; padding-left: 15px; margin-right: 10px; }

/* access box */
body.saitama #access { display: flex; justify-content: center; height: 160px; background: url(/media/saitama/icon_access.svg) no-repeat center 20px #595757; background-size: 55px auto; position: relative; }
body.saitama #access a { display: flex; justify-content: center; align-items: center; width: 280px; height: 50px; border: 2px solid #707070; border-radius: 25px; background-color: #fff; box-sizing: border-box; position: absolute; bottom: 20px; transition: .25s; }
body.saitama #access a:hover { color: #ea5504; }
body.saitama #access a span { display: block; }
body.saitama #access a > span { display: flex; justify-content: center; flex-wrap: wrap; width: 80%; background: url(/media/saitama/arrow_next.svg) no-repeat right center transparent; background-size: auto 15px; padding-right: 25px; }
body.saitama #access a .heading { font-family: 'Noto Serif CJK JP', serif; font-size: 1.2rem; font-weight: 500; margin-top: -3px; }
body.saitama #access a .sub { font-size: 1.5rem; font-weight: 900; margin-top: 5px; }



/* stories
   ========================================================================== */

body.stories .article-header.billboard { margin-bottom: 40px; }
body.stories .article-header.billboard::before { background-image: url(/media/article-header/mobile/bg_stories_header.jpg); height: 620px; }

body.stories .article-header.billboard h1 { display: flex; justify-content: center; align-items: flex-start; width: 100%; max-width: none; height: 620px; color: #595757; background: none; padding: 0; margin: 0 auto; }
body.stories .article-header.billboard h1 .inner { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 255px; height: 135px; background-color: rgba(255, 255, 255, .7); margin-top: 65px; }

body.stories .article-header.billboard h1 .inner span { display: block; font-family: 'Noto Serif CJK JP', serif; text-align: center; }
body.stories .article-header.billboard h1 .inner .heading,
body.stories .article-header.billboard h1 .inner > .sub { width: 100%; }
body.stories .article-header.billboard h1 .inner .heading > span:first-child { font-size: 1.8rem; font-weight: 600; }
body.stories .article-header.billboard h1 .inner .heading .sub { display: inline-block; font-size: 1.7rem; font-weight: 400; }
body.stories .article-header.billboard h1 .inner .heading > span:last-child { font-size: 3.4rem; font-weight: 500; border-bottom: 1px solid #707070; padding-bottom: 7px; margin: 5px 0 10px; }
body.stories .article-header.billboard h1 .inner > .sub > span { font-weight: 600; }
body.stories .article-header.billboard h1 .inner > .sub > span:first-child { font-size: 1.4rem; margin-bottom: 5px; }
body.stories .article-header.billboard h1 .inner > .sub > span:last-child { font-size: 2rem; }

body.stories .expandable-list > ul li .block { max-height: 3000px; margin: 0 auto; position: relative; overflow: hidden; opacity: 1; z-index: 2; }
body.stories .expandable-list > ul { perspective: 1000px; }
body.stories .expandable-list > ul li { position: relative; }
body.stories .expandable-list > ul li i { position: absolute; right: 25px; top: 160px; }
body.stories .expandable-list > ul li:nth-child(1) i { top: 218px; }
body.stories .expandable-list > ul li:nth-child(9) i { top: 133px; }
body.stories .expandable-list > ul li i::before,
body.stories .expandable-list > ul li i::after { content: ''; position: absolute; background-color: #595757; width: 2px; height: 12px; }
body.stories .expandable-list > ul li i::before { transform: translate(-4px, 0) rotate(45deg); }
body.stories .expandable-list > ul li i::after { transform: translate(4px, 0) rotate(-45deg); }
body.stories .expandable-list > ul li input[type=checkbox]:checked ~ i::before { transform: translate(4px, 0) rotate(45deg); }
body.stories .expandable-list > ul li input[type=checkbox]:checked ~ i::after { transform: translate(-4px, 0) rotate(-45deg); }
body.stories .expandable-list > ul li input[type=checkbox] { position: absolute; cursor: pointer; width: 100%; height: 100%; z-index: 1; opacity: 0; }
body.stories .expandable-list > ul li input[type=checkbox]:checked ~ div { margin-top: 0; max-height: 0; opacity: 0; transform: translate(0, 50%); }
body.stories .expandable-list > ul li .block,
body.stories .expandable-list > ul li i::before,
body.stories .expandable-list > ul li i::after { transition: all .25s ease-in-out; }

body.stories .expandable-list h3 { cursor: pointer; padding: 20px 15px 30px; border-bottom: 1px solid #595757; }
body.stories .expandable-list h3 > span { display: block; }
body.stories .expandable-list h3 .shoudler span { display: inline-block; }
body.stories .expandable-list h3 .number { color: #fff; font-size: 1.5rem; font-weight: 300; background-color: #707070; border-radius: 9999px; padding: 3px 15px; }
body.stories .expandable-list h3 .shoudler .sub { color: #ea5504; font-size: 1.6rem; font-weight: 400; margin-left: 10px; }
body.stories .expandable-list h3 .heading { font-family: 'Noto Serif CJK JP', serif; color: #595757; font-size: 3rem; font-weight: 600; margin: 15px 0; }
body.stories .expandable-list h3 > .sub { color: #ea5504; font-size: 2rem; font-weight: 500; line-height: 1.4; }

body.stories .expandable-list .block p { font-size: 1.3rem; font-feature-settings: 'palt'; }
body.stories .expandable-list .block > * { margin: 30px 15px; }
body.stories .expandable-list .block > *:last-child { margin-bottom: 60px; }

body.stories .expandable-list .block figure { width: 300px; margin: 30px auto; }
body.stories .expandable-list .block figure img { display: block; width: 300px; height: auto; box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, .2); margin: 0 auto; }
body.stories .expandable-list .block figcaption { font-size: 1rem; }
body.stories .expandable-list > ul li:nth-child(4) .block figure .images { display: flex; justify-content: space-between; }
body.stories .expandable-list > ul li:nth-child(4) .block figure .images img { width: 142px; margin: 0; }
body.stories .expandable-list > ul li:nth-child(6) .block figure .images { height: 211px; position: relative; }
body.stories .expandable-list > ul li:nth-child(6) .block figure .images img { margin: 0; position: absolute; }
body.stories .expandable-list > ul li:nth-child(6) .block figure .images img:first-child { width: 139px; transform: rotate(-5deg); z-index: 1; top: 5px; }
body.stories .expandable-list > ul li:nth-child(6) .block figure .images img:last-child { width: 273px; right: 0; bottom: 0; }

body.stories .expandable-list .block .boxed { padding: 20px 15px; }
body.stories .expandable-list .block .boxed h4 { color: #ea5504; font-size: 1.3rem; font-weight: 500; margin-bottom: 10px; }
body.stories .expandable-list .block .boxed:first-child { border: 2px dashed #707070; margin-bottom: 30px; }
body.stories .expandable-list .block .boxed:last-child { border: 3px solid #707070; margin-bottom: 0; position: relative; }
body.stories .expandable-list .block .boxed:last-child::before { content: ''; display: block; width: 60px; height: 60px; background: url(/media/stories/episode10_image.svg) no-repeat center center; background-size: contain; position: absolute; left: calc(50% - 30px); top: -45px; }

body.stories .expandable-list .block ol,
body.stories .expandable-list .block ul { margin-bottom: 0; }
body.stories .expandable-list .block ul li::before { content: '一、'; }
body.stories .expandable-list .block li { font-weight: 400; margin-bottom: 7px; }
body.stories .expandable-list .block ol li:last-child,
body.stories .expandable-list .block ul li:last-child { margin-bottom: 0; }
body.stories .expandable-list .block ol li:nth-child(1)::before { content: '一、'; }
body.stories .expandable-list .block ol li:nth-child(2)::before { content: '二、'; }
body.stories .expandable-list .block ol li:nth-child(3)::before { content: '三、'; }



/* search
   ========================================================================== */

body.search .article-body .styled { width: calc(100% - 32px); margin-left: auto; margin-right: auto; }
body.search .index-list ul li .heading { margin-top: 0; }



/* ==========================================================================
   for Modaal
   ========================================================================== */

.modaal-wrapper { z-index: 10001; }
.modaal-container { border-radius: 4px; }
.modaal-wrapper main > div.wrapper > div.main { width: 100%; float: none; border: none; margin: 0 auto; }
.modaal-wrapper main > div.wrapper { width: 100%; }
.modaal-wrapper article .section-header,
.modaal-wrapper article .section-body { padding: 0; }
.modaal-close:after, .modaal-close:before,
.modaal-close:focus, .modaal-close:hover { background: #fff; }
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before { background: #ea5504; }
.modaal-gallery-item img { padding: 10px; box-sizing: border-box; }
.modaal-wrapper footer { display: none; }



/* head-banner
   ========================================================================== */

#head-banner ~ main { margin-top: 0; }

#head-banner { display: flex; justify-content: center; flex-direction: column; align-items: center; width: 100%; height: 86px; background-color: #ea5504; padding: 10px; margin-top: 54px; box-sizing: border-box; }
#head-banner > span { color: #fff; font-size: 1.3rem; font-weight: 500; margin-bottom: 5px; }
#head-banner .button { display: inline-block; height: 32px; }

.hidden { display: none; }

.modaal-inline .modaal-container { width: 100%; margin: 0 auto; }
.modaal-inline .modaal-content-container { padding: 0; }

#head-banner-content { font-feature-settings: 'palt'; text-align: center; padding: 20px 10px; box-sizing: border-box; }
#head-banner-content h1 { background-color: #ea5504; padding: 20px 0 0; margin-bottom: 15px; }
#head-banner-content h1 span { display: block; color: #fff; }
#head-banner-content h1 .heading { font-size: 2.8rem; font-weight: 300; line-height: 1.2; margin-bottom: 20px; }
#head-banner-content h1 .heading > span { display: block; }
#head-banner-content h1 .sub:last-of-type { color: #595757; font-size: 1.6rem; font-weight: 500; background-color: #dedddd; padding: 10px 0; }

#head-banner-content h1 .sub.decorated { width: 200px; font-size: 1.6rem; font-weight: 500; margin: 0 auto 15px; position: relative; }
#head-banner-content h1 .sub.decorated::before,
#head-banner-content h1 .sub.decorated::after { content: ''; background-color: #fff; width: 1px; height: 28px; position: absolute; top: -5px; }
#head-banner-content h1 .sub.decorated::before { transform: translate(-10px, 0) rotate(-30deg); left: 0; }
#head-banner-content h1 .sub.decorated::after { transform: translate(10px, 0) rotate(30deg); right: 0; }
_:lang(x)::-ms-backdrop, #head-banner-content h1 .sub.decorated::before { left: calc(50% - 100px); } /* ie 11 */

#head-banner-content .contact span { display: block; }
#head-banner-content .contact .sub { color: #595757; font-size: 1.2rem; font-weight: 700; }
#head-banner-content .contact .phone,
#head-banner-content #mailto-item { color: #ea5504; }
#head-banner-content .contact .phone { font-family: 'Noto Serif CJK JP', serif; font-size: 3.6rem; font-weight: 500; margin: 10px 0; }
#head-banner-content #mailto-item { font-size: 2rem; font-weight: 500; transition: .25s; }
#head-banner-content #mailto-item:hover { color: #595757; }



/* ==========================================================================
   for mkcontents
   ========================================================================== */

#mkcontents {
width: 560px;
font-size: 1.3rem;
font-weight: 350;
line-height: 1.8;
margin: 0 auto;
}
#mkcontents td {
width: auto;
font-size: 1.3rem;
line-height: 1.4;
vertical-align: bottom;
border: none;
padding-bottom: 5px;
}
#mkcontents td a { text-decoration: underline; }
#mkcontents tr.sp-c-nav td:last-child { width: 220px; }
#mkcontents dl.content-news dt, #mkcontents dl.news-top dt {
display: flex;
justify-content: space-between;
width: 100%;
font-size: 1.3rem;
line-height: 1.3;
border-bottom: 1px solid #b7b7b7;
padding: 20px 16px;
box-sizing: border-box;
}
#mkcontents hr { display: block; border-bottom: 1px solid #e0dfdf; padding-bottom: 45px; margin: 0 auto 30px; }
#mkcontents .backnumber a { font-weight: 350; text-decoration: none; }
#mkcontents .backnumber .news-date { color: #999; }



/* ==========================================================================
   handy
   ========================================================================== */

.left { float: left; }
.right { float: right; }
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
.sub { font-size: smaller; font-weight: lighter; }
.disabled { cursor: default; pointer-events: none; opacity: .25; }
.no-margin { margin: 0 !important; }
.no-margin-top { margin-top: 0 !important; }
.no-wrap { white-space: nowrap; }
.hidden { display: none !important; }

.sans { font-family: 'Noto Sans CJK JP', sans-serif; }
.serif { font-family: 'Noto Serif CJK JP', serif; }
.smaller { font-size: smaller; }
.larger { font-size: larger; }
.lighter { font-weight: lighter; }
.bolder { font-weight: bolder; }



