@charset "utf-8";

/*---------------------------------------------
Reset Style
---------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, dl, dt, dd, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

*		{ box-sizing: border-box; margin: 0; padding: 0; font-size: 100%; }
html	{ color: #000; background-color: #fff; font-size: 62.5%; overflow: auto; }
body	{ width: 100%; height: 100%; font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; font-size: 1rem; line-height: 1.5; text-align: left; }

hr, legend	{ display: none; }
img		{ border: none; vertical-align: bottom; }
article, aside, details, figure, figcaption, header, footer, hgroup, menu, nav, section, main	{ display: block; }
div, dl, dt, dd, form, input, ul, ol, li, p, select, textarea, span, th, td, figure, figcaption { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6, address, th, caption, em, strong, dfn { font-style: normal; font-weight: normal; }
input, select			{ vertical-align: middle; }
input, select, textarea	{ font-size: 100%; font-family: inherit; font-weight: inherit; }
sup		{ vertical-align: top; font-size: 72%; }
sub		{ vertical-align: bottom; font-size: 72%; }
del		{ text-decoration: line-through; }
ol, ul	{ list-style: none; }
table	{ border-collapse: collapse; border-spacing: 0; font-size: 100%; font-size: inherit; }
caption	{ text-align: left; }
fieldset{ border: 0; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content: none; }

a       { color: #000; outline: none; text-decoration: none; transition: all .3s; }
a:hover { /*text-decoration: underline;*/ opacity: 0.6; }

/*---------------------------------------------
Common Style
---------------------------------------------*/
.m0		{ margin: 0 !important; }
.mat0	{ margin-top: 0 !important; }
.mat1	{ margin-top: 1em !important; }
.mat5	{ margin-top: 5px !important; }
.mat10	{ margin-top: 10px !important; }
.mat15	{ margin-top: 15px !important; }
.mat20	{ margin-top: 20px !important; }
.mat25	{ margin-top: 25px !important; }
.mat30	{ margin-top: 30px !important; }
.mat40	{ margin-top: 40px !important; }
.mat50	{ margin-top: 50px !important; }
.mab0	{ margin-bottom: 0 !important; }
.mab1	{ margin-bottom: 1em !important; }
.mab5	{ margin-bottom: 5px !important; }
.mab10	{ margin-bottom: 10px !important; }
.mab15	{ margin-bottom: 15px !important; }
.mab20	{ margin-bottom: 20px !important; }
.mab25	{ margin-bottom: 25px !important; }
.mab30	{ margin-bottom: 30px !important; }
.mab40	{ margin-bottom: 40px !important; }
.mab50	{ margin-bottom: 50px !important; }
.mar0	{ margin-right: 0 !important; }
.mar1	{ margin-right: 1em !important; }
.mar10	{ margin-right: 10px !important; }
.mar15	{ margin-right: 15px !important; }
.mar20	{ margin-right: 20px !important; }
.mar30	{ margin-right: 30px !important; }
.mal0	{ margin-left: 0 !important; }
.mal1	{ margin-left: 1em !important; }
.mal10	{ margin-left: 10px !important; }
.mal15	{ margin-left: 15px !important; }
.mal20	{ margin-left: 20px !important; }
.mal30	{ margin-left: 30px !important; }

.p0		{ padding: 0 !important; }
.pat0	{ padding-top: 0 !important; }
.pat1	{ padding-top: 1em !important; }
.pat5	{ padding-top: 5px !important; }
.pat10	{ padding-top: 10px !important; }
.pat15	{ padding-top: 15px !important; }
.pat20	{ padding-top: 20px !important; }
.pat25	{ padding-top: 25px !important; }
.pat30	{ padding-top: 30px !important; }
.pat40	{ padding-top: 40px !important; }
.pat50	{ padding-top: 50px !important; }
.pab0	{ padding-bottom: 0 !important; }
.pab1	{ padding-bottom: 1em !important; }
.pab5	{ padding-bottom: 5px !important; }
.pab10	{ padding-bottom: 10px !important; }
.pab15	{ padding-bottom: 15px !important; }
.pab20	{ padding-bottom: 20px !important; }
.pab25	{ padding-bottom: 25px !important; }
.pab30	{ padding-bottom: 30px !important; }
.pab40	{ padding-bottom: 40px !important; }
.pab50	{ padding-bottom: 50px !important; }
.par0	{ padding-right: 0 !important; }
.par1	{ padding-right: 1em !important; }
.par10	{ padding-right: 10px !important; }
.par15	{ padding-right: 15px !important; }
.par20	{ padding-right: 20px !important; }
.par30	{ padding-right: 30px !important; }
.pal0	{ padding-left: 0 !important; }
.pal1	{ padding-left: 1em !important; }
.pal10	{ padding-left: 10px !important; }
.pal15	{ padding-left: 15px !important; }
.pal20	{ padding-left: 20px !important; }
.pal30	{ padding-left: 30px !important; }

.whAuto	{ width: auto !important; height: auto !important; }
.disN	{ display: none !important; }
.posA	{ position: absolute !important; }
.posR	{ position: relative !important; }
.fl		{ float: left !important; }
.fr		{ float: right !important; }
.b0		{ border: 0 !important; }
.tal	{ text-align: left !important; }
.tac	{ text-align: center !important; }
.tar	{ text-align: right !important; }
.fw		{ font-weight: bold !important; }
.fwn	{ font-weight: normal !important; }
.red	{ color: #d84e2d !important; }
.crim	{ color: #f00 !important; }
.hand	{ cursor: pointer !important; }

.ti		{ margin-left: 1em !important; text-indent: -1em !important; }
.ti1-1	{ margin-left: 1.1em !important; text-indent: -1.1em !important; }
.ti1-2	{ margin-left: 1.2em !important; text-indent: -1.2em !important; }
.ti1-3	{ margin-left: 1.3em !important; text-indent: -1.3em !important; }
.ti1-4	{ margin-left: 1.4em !important; text-indent: -1.4em !important; }
.ti1-5	{ margin-left: 1.5em !important; text-indent: -1.5em !important; }
.ti1-6	{ margin-left: 1.6em !important; text-indent: -1.6em !important; }
.ti1-7	{ margin-left: 1.7em !important; text-indent: -1.7em !important; }
.ti1-8	{ margin-left: 1.8em !important; text-indent: -1.8em !important; }
.ti1-9	{ margin-left: 1.9em !important; text-indent: -1.9em !important; }
.ti2	{ margin-left: 2em !important; text-indent: -2em !important; }

/*---------------------------------------------
Original Style master
-----------------------------------------------
Suggested propaty order: { box-sizing, content, display, position, top, right, bottom, left, z-index, float, clear, min-width, min-height, max-width, max-height, width, height, margin, padding, border, background, color, font-family, font-size, font-weight, text-align, text-decoration, text-indent, line-height, letter-spacing, vertical-align, visibility, white-space, cursor, opacity, transform, transition, overflow, and other propaty }
-----------------------------------------------
01. layout
02. header
03. footer
04. clearfix
---------------------------------------------*/

/*---------------------------------------------
01. layout
---------------------------------------------*/
*		{ box-sizing: border-box; }
html	{ -webkit-text-size-adjust: 100%; }
body	{ font-size: 1.4rem; }
main	{ box-sizing: content-box; min-width: 1080px; padding: 0 10px 50px 250px; background: #fff; }
/*main:before{  content: ""; position: fixed; top: 0; left: 0; z-index: 2; width: 250px; height: 100vh; background: #fff; }*/
section	{ width: 100%; }
#wrap	{ position: relative; }
.inner	{ width: 870px; margin: 0 auto; }
.pc		{ display: block; }
.sp		{ display: none; }
img.pc	{ display: inline-block; }
img.sp	{ display: none; }

table					{ width: 100%; font-size: 1.6rem; }
table th				{ padding: 15px 12px; border-bottom: 1px solid #235dac; font-weight: bold; text-align: left; vertical-align: top; }
table td				{ padding: 15px 20px; border-bottom: 1px solid #ccc; text-align: left; vertical-align: top; }
table th:first-of-type	{ border-top: 1px solid #235dac; }
table td:last-of-type	{ border-top: 1px solid #ccc; }

.accordion dt	{ cursor: pointer; }
.accordion dd	{ display: none; }

.link-box a							{ display: inline-block; position: relative; width: 239px; padding: 9px 0; background: #fff; border: 1px solid #cc0001; color: #cc0001; text-align: center; }
.link-box a:after					{ content: "\f105"; position: absolute; top: 50%; right: 10px; margin-top: -14px; font-family: "Font Awesome 5 Pro"; font-size: 1.8rem; }
.link-box a[target="_blank"]:after	{ content: "\f14c"; margin-top: -12px; font-weight: 300; }
.link-box a:hover					{ background: #cc0001; color: #fff; opacity: 1; }

.mv					{ position: relative; color: #fff; font-family: 'Noto Sans JP', sans-serif; }
.mv h1				{ display: inline-block; position: absolute; top: 33.5%; left: 90px; font-size: 6rem; font-weight: 700; transform: translateY(-50%); }
.mv h1:first-letter	{ font-family: 'Noto Serif JP', serif; font-size: 12rem; }
.mv h1:before		{ content: ""; position: absolute; top: 36px; left: 0; z-index: -1; width: 12rem; height: 12rem; background: #235dac; }
.mv dfn				{ position: absolute; top: 36.5%; right: 150px; }
.mv figure img		{ width: 100%; height: auto; }
.mv .description	{ padding: 50px 0; background: #000; color: #fff; font-size: 1.6rem; text-align: center; line-height: 1.75; }

.related-link					{ margin-top: 40px; font-family: 'Noto Sans JP', sans-serif; font-size: 1.6rem; font-weight: 700; text-align: center; letter-spacing: -.4em; }
.related-link li				{ display: inline-block; margin: 0 15px; background: #fff; text-align: left; letter-spacing: normal; }
.related-link li a				{ display: block; color: #235dac; }
.related-link li a figure		{ width: 100%; }
.related-link li a figure img	{ width: 100%; height: auto; }
.related-link li a span			{ display: block; position: relative; padding: 20px; }
.related-link li a span:before	{ content: ""; position: absolute; top: 50%; right: 17px; width: 30px; height: 30px; margin-top: -15px; border: 1px solid #235dac; }
.related-link li a span:after	{ content: ""; position: absolute; top: 50%; right: 30px; width: 10px; height: 10px; margin-top: -5px; border-top: 2px solid #235dac; border-right: 2px solid #235dac; transform: rotate(45deg); }

@media (max-width: 767px) {
main	{ min-width: initial; padding: 50px 0 0; }
.inner	{ width: auto; padding: 20px; }
.pc		{ display: none; }
.sp		{ display: block; }
img.pc	{ display: none; }
img.sp	{ display: inline-block; }

table,
table tbody,
table tr,
table th,
table td						{ display: block; font-size: 1.2rem; }
table th						{ position: relative; padding-bottom: 0; border-top: 1px solid #ccc; border-bottom: 0; }
table th:before					{ content: ""; position: absolute; top: -1px; left: 0; width: 105px; height: 1px; background: #235dac; }
table td						{ padding: 5px 12px 15px; border-bottom: 0; }
table th:first-of-type			{ border-top: 1px solid #ccc; }
table td:last-of-type			{ border-top: 0; }
table tr:last-child td			{ position: relative; border-bottom: 1px solid #ccc; }
table tr:last-child td:before	{ content: ""; position: absolute; bottom: -1px; left: 0; width: 105px; height: 1px; background: #235dac; }



.link-box a	{ width: 100%; }

.mv h1				{ top: 50%; left: 20px; margin-top: -109px; font-size: 2.4rem; }
.mv h1:first-letter	{ font-size: 4.6rem; }
.mv h1:before		{ top: 14px; width: 4.6rem; height: 4.6rem; }
.mv dfn				{ top: 50%; right: 35px; margin-top: -113px; text-align: right; }
.mv dfn img			{ width: 50%; }
.mv .description	{ padding: 30px 20px; font-size: 1.4rem; }

.related-link					{ margin-top: 0; padding: 30px 20px; font-size: 1.4rem; letter-spacing: normal; }
.related-link li				{ display: block; margin: 0 0 25px; }
.related-link li:last-child		{ margin-bottom: 0; }
.related-link li a span			{ display: block; position: relative; padding: 20px; }
.related-link li a span:before	{ right: 13px; width: 24px; height: 24px; margin-top: -13px; }
.related-link li a span:after	{ right: 23px; width: 8px; height: 8px; }
}

/*---------------------------------------------
02. header
---------------------------------------------*/
header				{ position: fixed; left: 0; z-index: 4; width: 240px; padding-bottom: 50px; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; }
header .header-inner{ padding-top: 15px; background: #fff; }
header .logo		{ position: relative; padding: 20px 10px; font-family: 'Roboto', sans-serif; font-size: 1.9rem; font-weight: 900; line-height: 1.25; text-align: left; }
header .logo img	{ margin-bottom: 10px; }

header .upper-menu										{ margin-top: 15px; font-size: 1.5rem; }
header .upper-menu > li									{ border-top: 1px solid #eee; border-left: 10px solid #cc0001; }
header .upper-menu > li:last-of-type					{ border-bottom: 1px solid #eee; }
header .upper-menu > li a								{ display: block; position: relative; padding: 10px 15px 10px 10px; }
header .upper-menu > li a:hover							{ background: #faeeee; color: #cc0001; opacity: 1; }
header .upper-menu > li a:after							{ content: '\f105'; position: absolute; top: 50%; right: 18px; font-family: 'Font Awesome 5 Pro'; font-size: 2rem; font-weight: 300; transform: translateY(-50%); }
header .upper-menu > li a[target="_blank"]:after		{ content: "\f14c"; right: 16px; font-size: 1.6rem; }
header .upper-menu > li a i								{ width: 20px; margin-right: 7px; color: #cc0001; font-size: 1.8rem; text-align: center; }
header .upper-menu > li.toggle > a:after				{ content: "\f0c9"; right: 16px; font-size: 1.6rem; }
header .upper-menu > li.toggle > .sub_menu				{ display: none; position: fixed; top: 0; left: 240px; width: 260px; height: 100%; padding-top: 146px; background-color: #ffe1e1; overflow-y: auto; }
header .upper-menu > li.toggle:hover > .sub_menu		{ display: block; }
header .upper-menu > li.toggle > .sub_menu dt			{ padding: 20px 10px 15px 18px; font-size: 1.6rem; font-weight: 700; border-bottom: solid 2px #cc0001; }
header .upper-menu > li.toggle > .sub_menu dt a			{ position: relative; padding: 20px 10px 15px 18px; }
header .upper-menu > li.toggle > .sub_menu dd a			{ position: relative; padding: 15px 25px 15px 18px; }
header .upper-menu > li.toggle > .sub_menu dt a:after,
header .upper-menu > li.toggle > .sub_menu dd a:after	{ content: '\f105'; position: absolute; font-family: 'Font Awesome 5 Pro'; font-size: 2rem; transform: translateY(-50%); }
header .upper-menu > li.toggle > .sub_menu dt a:after	{ top: 56%; right: 16px; font-weight: 500; }
header .upper-menu > li.toggle > .sub_menu dd a:after	{ top: 50%; right: 18px; font-weight: 300; }

header .lower-menu						{ padding: 10px; }
.tablet header .lower-menu				{ font-size: 1.1rem; }
header .lower-menu li:not(:last-child)	{ margin-bottom: 4px; }
header .lower-menu li a					{ display: block; position: relative; width: 220px; height: 60px; padding: 20px 12px; color: #fff; }
/*header .lower-menu li:first-of-type a	{ background: #27a2b4; }
header .lower-menu li:last-of-type a	{ background: #235dac; }*/
header .lower-menu li.internship a	{ background: #cc0001; }
header .lower-menu li.movie a { width: auto; height: auto; padding: 0;}
header .lower-menu li.movie img	{ width: 100%; height: auto; }
header .lower-menu li a i				{ font-size: 2rem; }
header .lower-menu li a i:first-of-type	{ margin-right: 10px; }
header .lower-menu li a i:last-of-type	{ position: absolute; top: 50%; right: 12px; margin-top: -10px; }

header .conv							{ position: fixed; top: 0; right: 0; background: #fff; }
header .conv li a						{ display: block; width: 80px; height: 80px; padding: 15px 0; color: #fff; text-align: center; opacity: 1; }
/*header .conv li:first-of-type a			{ background: rgba(39, 162, 180, 1.0); }
header .conv li:last-of-type a			{ background: rgba(35, 93, 172, 1.0); }
header .conv li:first-of-type a:hover	{ background: rgba(39, 162, 180, 0.6); }
header .conv li:last-of-type a:hover	{ background: rgba(35, 93, 172, 0.6); }*/

header .conv li.internship a			{ background: rgba(39, 162, 180, 1.0); }
header .conv li.movie img			{ width: 100%; height: auto; }
header .conv li.internship a:hover	{ background: rgba(39, 162, 180, 0.6); }
header .conv li.movie a:hover	{ background: rgba(35, 93, 172, 0.6); }
header .conv li a i						{ display: block; margin: 0 0 10px 5px; font-size: 2.4rem; }

@media (max-width: 767px) {
header				{ z-index: 5; width: 100%; height: 50px; padding-bottom: 0; background: #eee; }
header .header-inner{ padding-top: 0; background: none; }
header .logo		{ height: auto; margin: 0; padding: 8px 10px; line-height: 1; text-align: left; }
header .logo img	{ width: 190px; height: auto; margin-bottom: 8px; }
header .logo span	{ position: relative; top: unset; left: unset; display: block; font-size: .8rem; letter-spacing: -.05em; }

header nav			{ display: none; height: calc(100vh - 50px); padding: 30px 20px 80px; background: #eee; color: #000; overflow-y: auto; }
header nav a		{ color: #000; }

header .upper-menu										{ margin-top: 0; }
header .upper-menu > li									{ border-top: 1px solid #afafaf; border-left: 0; }
header .upper-menu > li:last-child						{ border-bottom: 1px solid #afafaf; }
header .upper-menu > li.toggle							{ position: relative; }
/*header .upper-menu > li.toggle > a					{ pointer-events: none; }*/
header .upper-menu > li.toggle > a:after				{ content: none; }
header .upper-menu > li.toggle > .sub_menu				{ position: static; width: 100%; height: auto; padding-top: 0; background: none; overflow-y: scroll; }
header .upper-menu > li.toggle:hover > .sub_menu		{ display: none; }
header .upper-menu > li.toggle > .sub_menu dt			{ display: none; }
header .upper-menu > li.toggle > .sub_menu dd			{ margin: -10px 0 15px; }
header .upper-menu > li.toggle > .sub_menu dd a			{ position: relative; padding: 8px 10px 8px 38px; }
header .upper-menu > li.toggle > .sub_menu dd a:after	{ content: none; }
header .upper-menu > li.toggle .expand					{ position: absolute; top: 0; right: 0; width: 47px; height: 53px; }
header .upper-menu > li.toggle .expand:before			{ content: "\f0c9"; position: absolute; top: 50%; left: 50%; font-family: 'Font Awesome 5 Pro'; font-weight: 300; font-style: normal; color: #000; transform: translate(-50%, -50%); }
header .upper-menu > li.toggle .expand.expanded:before			{ content: "\f077"; }

header .lower-menu						{ padding: 25px 0 0; }
header .lower-menu li:not(:last-child)	{ margin-bottom: 10px; }
header .lower-menu li a					{ width: 100%; height: 60px; padding: 18px 12px; }
header .lower-menu li a i:last-of-type	{ right: 16px; }

header .conv { right: 50px; }
header .conv:after { content: ""; clear: both; display: block; height: 0; }
header .conv li { float: left;}
header .conv li a				{ width: 50px; height: 50px; padding: 8px 0; font-size: 1.1rem; }
header .conv li a i				{ margin-bottom: 6px; font-size: 1.5rem; }

header .head-cv { position: absolute; top: 0; right: 50px; display: flex; width: 100px; height: 50px; }
header .head-cv a { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 50px; color: #fff; }
header .head-cv a:first-of-type { background: #000; }
header .head-cv a:last-of-type { background: #cc0001; }
header .head-cv span { display: block; margin-top: 3px; font-size: 1rem; line-height: 1.1; text-align: center; }
header .head-cv a:last-of-type span { margin-top: 5px; }

header .hamburger						{ position: absolute; top: 0; right: 0; width: 50px; height: 50px; background: #eee; }
header .hamburger span					{ position: absolute; left: 50%; width: 18px; height: 2px; background: #000; font-size: 1.5rem; transform: translateX(-50%); transition: all .3s; }
header .hamburger span:nth-child(1)		{ top: 17px; }
header .hamburger span:nth-child(2)		{ top: 50%; transform: translate(-50%, -50%); }
header .hamburger span:nth-child(3)		{ bottom: 17px; }
header .hamburger.open span:nth-child(1){ top: 24.5px; transform: translateX(-50%) rotate(45deg); }
header .hamburger.open span:nth-child(2){ opacity: 0; }
header .hamburger.open span:nth-child(3){ bottom: 23.5px; transform: translateX(-50%) rotate(-45deg); }

header .nav_close			{ position: relative; right: -17px; width: 50px; height: 50px; margin-left: auto; font-style: normal; }
header .nav_close:before	{ content: '\f00d'; position: absolute; top: 50%; left: 50%; color: #000; font-family: 'Font Awesome 5 Pro'; font-size: 2rem; font-weight: 300; transform: translate(-50%, -50%); }
}

/*---------------------------------------------
03. footer
---------------------------------------------*/
footer											{ position: relative; z-index: 4; min-width: 1340px; background: #eee; color: #000; padding: 35px 50px 35px 250px; }
footer a										{ color: #000; }
footer a[target="_blank"]:after					{ content: "\f14c"; margin-left: 5px; font-family: "Font Awesome 5 Pro"; font-size: 1.6rem; font-weight: 300; }
footer nav										{ width: 100%; margin-bottom: 40px; padding: 10px 0 10px 70px; border-left: 1px solid #ddd; }
footer nav > p:not(.link-box) > a               { font-size: 3rem; font-weight: bold; }
footer nav > p:not(.link-box) > a > span     { display: block; font-size: 1.8rem; }
footer nav > ul									{ display: flex; align-items: center; margin: 40px 0; font-weight: bold; line-height: 1.75; }
footer nav > ul:first-child						{ padding-left: 17px; font-size: 1.6rem; }
footer nav > ul > li			{ width: 100%; border-left: 1px solid #000; }
footer nav > ul > li > a { display: block; text-align: center; }
footer nav > ul > li.toggle > .sub_menu			{ display: none; }
footer nav .link-box             { margin-bottom: 30px; }
footer nav .link-box > a       { width: 239px; padding: 9px 30px 9px 15px; color: #fff; text-align: left; background: #000; border: 0; }
footer .link-box a[target="_blank"]:after { margin-left: 10px;}
footer small									{ font-size: 1.1rem; opacity: 0.8; }

footer #pagetop			{ display: none; position: fixed; bottom: 18px; right: 50px; z-index: 3; width: 60px; height: 60px; line-height: 60px; background: rgba(64, 64, 65, 0.7); color: #fff; font-family: "Font Awesome 5 Pro"; font-size: 2.4rem; text-align: center; cursor: pointer; }
footer #pagetop:hover	{ opacity: 0.7; }

@media (max-width: 767px) {
footer											{ min-width: initial; padding: 30px 20px; }
footer nav										{ display: block; margin-bottom: 20px; padding: 0; border-left: 0; }
footer nav > ul									{ display: block; width: auto; padding: 0; border-left: 0; font-weight: bold; line-height: 1.5; }
footer nav > ul:first-child						{ margin-bottom: 20px; padding-left: 0; font-size: 1.4rem; }
footer nav > ul:last-child						{ border-right: 0; }
footer nav > ul:last-child li:nth-of-type(2),
footer nav > ul:last-child li:nth-of-type(4)	{ margin-top: 0; }
footer nav > ul > li							{ border-bottom: 1px solid #808080; border-left: 0; }
footer nav > ul > li > a						{ display: block; position: relative; padding: 16px 12px; text-align: left; }
footer nav > ul > li > a:after					{ content: "\f105"; position: absolute; top: 50%; right: 20px; margin-top: -14px; font-family: "Font Awesome 5 Pro"; font-weight: 300; font-size: 2rem; }
footer nav > ul > li > a[target="_blank"]:after	{ right: 17px; }
footer nav > ul > li.toggle						{ position: relative; }
footer nav > ul > li.toggle > a:after			{ content: none; }
footer nav > ul > li.toggle .expand				{ position: absolute; top: 0; right: 0; width: 47px; height: 47px; }
footer nav > ul > li.toggle .expand:before,
footer nav > ul > li.toggle .expand:after		{ content: ""; position: absolute; top: 56%; left: 50%; background-color: #fff; transform: translate(-50%, -50%); }
footer nav > ul > li.toggle .expand:before		{ width: 12.5px; height: 2px; }
footer nav > ul > li.toggle .expand:after		{ width: 2px; height: 12.5px; transition: height .3s; }
footer nav > ul > li.toggle .expanded:after		{ height: 0; }
footer nav > ul > li.toggle > .sub_menu			{ position: relative; top: -10px; font-family: "メイリオ", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif; }
footer nav > ul > li.toggle > .sub_menu a		{ display: block; padding: 4px 10px 4px 2em; font-weight: normal; }
footer nav > ul:first-child > li				{ border-bottom: 0; }
footer nav > ul:first-child > li > a			{ padding: 5px 12px; border-left: 1px solid #eee; }
footer nav > ul:nth-child(2)					{ border-top: 1px solid #808080; }
footer nav .link-box             { text-align: center; }

footer #pagetop			{ bottom: 0; right: 0; z-index: 3; width: 50px; height: 50px; line-height: 50px; cursor: default; }
footer #pagetop:hover	{ opacity: 1; }
}

/*---------------------------------------------
04. clearfix
---------------------------------------------*/
.clearfix:after,
header:after,
footer:after { content: ""; clear: both; display: block; height: 0; }
