@charset "utf-8";

/* ===========================================================================
    reset
=========================================================================== */
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, input, select, textarea, p, pre, blockquote, span, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; }
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block; }
html, body { text-align:center; }
html { min-width:320px; }
body { background:#fff; color:#000; -webkit-text-size-adjust:100%; }
img { border:none; vertical-align:top; max-width:100%; height:auto; }
h1, h2, h3, h4, h5, h6 { clear:both; font-size:100%; font-weight:bold; }
dl, ul, ol { text-indent:0; }
dt { font-weight:bold; }
li { list-style:none; }
ol li { list-style:decimal; margin-left:2em; }
table { border-collapse:collapse; border-spacing:0; }
input, textarea { background:#fff; border:1px solid #ccc; border-radius:0; box-shadow:none; padding:2px; -webkit-appearance:none; }
input[type="checkbox"] { -webkit-appearance:checkbox; }
input[type="radio"] { -webkit-appearance:radio-button; }
button { border-radius:0; box-shadow:none; -webkit-appearance:none; }
label input { vertical-align:middle; }
select { background:#fff; border:1px solid #ccc; border-radius:0; }
input:focus, textarea:focus, select:focus { background:#f8f8f8; }
em { font-style:normal; font-weight:bold; }
hr { background:#333; border:none; border-radius:2px; width:80px; height:4px; margin:45px 0; }

/* [Link scheme] --------------------------------------*/
a { color: #006db6; text-decoration: underline; }

/* [Font scheme] ------------------------------------*/
html { font-size:10px; }
body { font-size:12px; font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','ＭＳ Ｐゴシック',Osaka,Arial,Helvetica,sans-serif; }
input, select, textarea { font-size:16px; font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','ＭＳ Ｐゴシック',Osaka,Arial,Helvetica,sans-serif; }

/* [clearfix] ---------------------------------------*/
.cf::after{ content:""; display:block; clear:both; }

/* [view] -------------------------------------------*/
.pc{ display:none; }

/* [entry-area] -------------------------------------*/
.entry-area { clear:both; display:flex; justify-content:center; margin:0 15px; }
.entry-area .tel { width:179px; margin:0 9px 0 0; }
.entry-area .form { width:100px; margin:0 2px 0 0; }

/* [container] --------------------------------------*/
#container { position:relative; overflow:hidden; padding-top:64px; }
#container .inner { text-align:left; position:relative; padding:0 15px; }

/* [header] -----------------------------------------*/
#header { background:#fff; border-bottom:1px solid #bababa; position:fixed; top:0; left:0; right:0; z-index:99; }
#header .inner { height:63px; }
#header h1 { position:absolute; top:12px; left:23px; }
#header h1 img { width:148px; }
#header .entry-area { display:none; }

/* [contents] ---------------------------------------*/
#contents { clear:both; }

/* [drawer] -----------------------------------------*/
.drawer-hamburger { color:#006bb9; width:26px; height:40px; position:fixed; top:4px; padding:0 9px; z-index:9999; }
.drawer-open .drawer-hamburger { width:21px; padding:0 17px 0 13px; }
.drawer--top .drawer-hamburger, .drawer--top.drawer-open .drawer-hamburger { right:15px; }
.drawer-hamburger .menu { font-size:8px; display:inline-block; letter-spacing:2px; margin:0 0 15px; transition:all .6s; }
.drawer-open .drawer-hamburger .menu { display:none; }
.drawer-hamburger-icon { margin:0 0 5px; }
.drawer-open .drawer-hamburger-icon { top:10px; }
.drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after{ background-color:#006bb9; top:-6px; }
.drawer-hamburger-icon:after { top:6px; }
.drawer-open .drawer-hamburger-icon:before, .drawer-open .drawer-hamburger-icon:after{ background-color:#fff; }
.drawer-nav { background:#396fb9; color:#fff; z-index:999; }
.drawer-nav ul { text-align:left; line-height:39px; padding:59px 20px; }
.drawer-nav ul li { border-bottom:1px solid #7a9ed0; position:relative; padding:0 0 0 23px; }
.drawer-nav ul li::before { border-top:1px solid #fff; border-right:1px solid #fff; content:""; display:block; width:5px; height:5px; position:absolute; top:16px; left:1px; transform:rotate(45deg); }
.drawer-nav ul li:first-child::before { background:url(../img/ico-home.png) 0 0 / 14px 13px no-repeat; border:none; width:14px; height:13px; top:12px; left:0; transform:rotate(0); }
.drawer-nav ul li a { color:#fff; display:block; text-decoration:none; }

/* [keyvisual] --------------------------------------*/
.keyvisual { background:50% 50% / cover no-repeat; clear:both; position:relative; margin:0 -15px; z-index:2; }
.keyvisual::before { background:url(../img/bg-keyvisual-01.png) 0 0 / auto 90px no-repeat, url(../img/bg-keyvisual-02.png) 100% 100% / auto 90px no-repeat; content:""; position:absolute; top:0; left:0; right:0; bottom:0; z-index:-1; }
.keyvisual h1 { color:#fff; font-family:"Arial Black", Gadget, sans-serif; font-size:22px; text-align:center; text-shadow:0 0 10px #1d335c, 0 0 10px #1d335c, 0 0 10px #1d335c; line-height:90px; }

/* [main] -------------------------------------------*/
.main p, .main ul, .main ol, .main dl, .main table { line-height:1.67; margin:15px 0 0; }

/* [footer] -----------------------------------------*/
#footer { color:#000; clear:both; margin:35px 0 0; }
#footer .inner { padding:0; }
#footer a { color:#000; }
#footer .fnav { background:#d4ecfb; font-size:13px; margin:35px 0 0; padding:19px 15px 30px; }
#footer .fnav ul li { position:relative; margin:10px 0 0; padding:0 0 0 19px; }
#footer .fnav ul li::before { border-top:2px solid #006db6; border-right:2px solid #006db6; content:""; display:block; width:6px; height:6px; position:absolute; top:6px; left:-1px; transform:rotate(45deg); }
#footer .fnav ul li a { text-decoration:none; }
#footer .address { background:#aed9f3; font-size:13px; text-align:center; padding:17px 15px; }
#footer .address dt { width:248px; margin:0 auto 21px; }
#footer .copyright { background:#d4ecfb; font-size:10px; line-height:1.92; padding:30px 18px; }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
.keyvisual::before { background-image:url(../img/bg-keyvisual-01@2x.png), url(../img/bg-keyvisual-02@2x.png); }
}


@media print, screen and (min-width: 640px) {
/* [Link scheme] ------------------------------------*/
a:link { color:#006db6; text-decoration:underline; }
a:visited { color:#005187; text-decoration:underline; }
a:hover, a:active { color:#2692da; text-decoration:none; }
a[href^="tel:"] { cursor: default; text-decoration:none !important; }
a[href^="tel:"]:link, a[href^="tel:"]:visited,
a[href^="tel:"]:hover, a[href^="tel:"]:active { color:#000; }

/* [Font scheme] ------------------------------------*/
body { font-size:1.4em; }
input, select, textarea { font-size:1em; }

/* [view] -------------------------------------------*/
.sp{ display:none; }
.pc{ display:block; }

/* [entry-area] -------------------------------------*/
.entry-area { position:absolute; top:24px; right:20px; }
.entry-area .tel { width:206px; margin:0 11px 0 0; }
.entry-area .form { width:115px; margin:0; }

/* [container] --------------------------------------*/
#container { min-width:1040px; padding-top:145px; }
#container .inner { margin:0 auto; padding:0 20px; }

/* [header] -----------------------------------------*/
#header .inner { min-width:1000px; height:144px; }
#header h1 { top:21px; left:20px; }
#header h1 img { width:254px; }
#header .entry-area { display:flex; margin:0; }

/* [drawer] -----------------------------------------*/
.drawer--top .drawer-nav { background:transparent; color:#070707; font-size:0.93em; top:99px; left:20px; right:20px; width:auto; min-width:1000px; max-height:none; transition:none; }
.drawer-nav ul { display:flex; line-height:36px; padding:0; }
.drawer-nav ul li { border-bottom:none; border-left:1px solid #d0d0d0; box-sizing:border-box; width:14.28%; padding:0; }
.drawer-nav ul li:last-child { border-right:1px solid #d0d0d0; }
.drawer-nav ul li::before,
.drawer-nav ul li:first-child::before { display:none; }
.drawer-nav ul li a { color:#070707; text-align:center; }

/* [keyvisual] --------------------------------------*/
.keyvisual { margin:0 -20px 72px; }
.keyvisual::before { background-size:auto 197px, auto 197px; }
.keyvisual h1 { font-size:3.83em; line-height:197px; }

/* [main] -------------------------------------------*/
.main { max-width:1000px; margin:0 auto; padding:0 20px; }
.main p, .main ul, .main ol, .main dl, .main table { line-height:1.71; margin:25px 0 0; }

/* [footer] -----------------------------------------*/
#footer { background:#d4ecfb; margin:87px 0 0; padding:45px 0 80px; }
#footer .inner::before { background:#bac8d1; content:""; width:1px; height:169px; position:absolute; top:0; left:376px; }
#footer .entry-area { display:none; }
#footer .fnav { background:transparent; font-size:1em; min-height:150px; margin:0 0 0 424px; padding:22px 0 0; }
#footer .fnav ul li { width:160px; margin:9px 0 0; padding:0 0 0 20px; }
#footer .fnav ul li:first-child { float:left; margin-top:0; }
#footer .fnav ul li:nth-child(2),
#footer .fnav ul li:nth-child(3),
#footer .fnav ul li:nth-child(4) { clear:left; float:left; }
#footer .fnav ul li:nth-child(5),
#footer .fnav ul li:nth-child(6),
#footer .fnav ul li:nth-child(7),
#footer .fnav ul li:nth-child(8) { margin-left:180px; }
#footer .fnav ul li:nth-child(5) { margin-top:0; }
#footer .fnav ul li::before { border-top:2px solid #006db6; border-right:2px solid #006db6; width:6px; height:6px; top:6px; }
#footer .address { background:transparent; font-size:0.86em; text-align:left; position:absolute; top:24px; left:20px; padding:0; }
#footer .address dt { width:254px; margin:0 0 23px; }
#footer .copyright { background:transparent; font-size:0.86em; padding:0; }
}


/* =============================================
    layout
============================================= */
/* [title] --------------------------------------*/
.main h2 { background:#006db6; color:#fff; font-size:15px; margin:40px 0 25px; padding:1px 7px; }
.main h3 { border-bottom:1px solid #b5b5b5; font-size:15px; margin:20px 0 -5px; padding:0 0 5px; }

/* [text] --------------------------------------*/
.red { color:#cb0000; }
.blue { color:#1f979c; }
.error { color:#ff0000; font-weight:bold; }
.left { text-align:left !important; }
.right { text-align:right !important; }
.center { text-align:center !important; }
.bold { font-weight:bold; }
.small { font-size:0.86em; }
.large { font-size:1.29em; }
.clear { clear:both; }
.nowrap { white-space:nowrap; }
p.rice { text-indent:-1em; margin-left:1em !important; }
ul.rice li { text-indent:-1.3em; margin-left:1.3em !important; }
.gmap { position:relative; height:0; overflow:hidden; }
.gmap iframe, .gmap object, .gmap embed{ position:absolute; top:0; left:0; width:100%; height:100%; }

/* [table] --------------------------------------*/
table { border:1px solid #b3b3b3; box-sizing:border-box; width:100%; }
table th,
table td { border:1px solid #b3b3b3; vertical-align:top; padding:4px 7px; }
table th { background:#e6e6e6; font-weight:normal; }

/* [list] --------------------------------------*/
.list li { position:relative; padding-left:10px; }
.list li::before { background:#000; border-radius:50%; content:""; display:block; position:absolute; top:0.8em; left:3px; width:3px; height:3px; }

/* [column] --------------------------------------*/
.clm-l { float:left; }
.clm-r { float:right; }
.clm-wrap .image div { margin:10px auto 0; }
.clm-wrap .image div:first-child { margin-top:0; }

/* [parts] ---------------------------------------*/
.main .copy01 { font-size:15px; font-weight:bold; line-height:1.33; }
.banner-area { clear:both; margin:30px 0 0; }
.banner-area ul { text-align:center; margin:0; }
.banner-area ul li { width:244px; margin:17px auto 0; }
.entry-form { border:2px solid #ccc; }
.entry-form th,
.entry-form td { border:1px solid #ccc; }
.entry-form th { background:#f2f2f2; font-weight:bold; }
.entry-form th .required { background:#ea2226; border-radius:3px; text-align:center; float:right; color:#fff; width:37px; }
.entry-form td { padding:7px; }
.entry-form td input { box-sizing:border-box; width:100%; height:40px; }
.entry-form td input[type="checkbox"] { width:auto; height:auto; margin:0 5px; }
.entry-form td label { display:block; font-size:16px; margin:7px 0; }
.entry-form td textarea { box-sizing:border-box; width:100%; height:120px; }
.entry-form .checkbox-wrap + .error { display:none; }
.privacy-area { border:1px solid #211714; box-sizing:border-box; overflow-y:scroll; width:100%; height:200px; margin:20px 0 0; padding:10px; }
.privacy-area h3 { border:none; font-size:1em; margin:0; padding:0; }
.privacy-area h4 { margin:15px 0 0; }
.privacy-area dl dt { font-weight:normal; margin:10px 0 0; }
.privacy-area dl dd ul { margin:0; }
.btn-form { margin:25px 0 0; }
.btn-form button[name="btn-check"],
.btn-form button[name="btn-send"] { background:#ea2226; border:none; border-radius:3px; box-sizing:border-box; color:#fff; font-weight:bold; width:100%; height:40px; }
.btn-form #btn-back { background:#dedede; border-radius:3px; box-sizing:border-box; color:#333; display:block; font-weight:bold; text-align:center; text-decoration:none; width:100%; line-height:40px; }
.btn-form button[name="btn-send"] { margin-top:15px; }

@media only screen and (max-width:639px){
/* [table] --------------------------------------*/
.tbl-block { border-top:none; }
.tbl-block th,
.tbl-block td { border:none; border-top:1px solid #b3b3b3; display:block; }

/* [column] --------------------------------------*/
.clm-l,
.clm-r { float:none; }
.clm-wrap .image { text-align:center; max-width:300px; margin:15px auto 0; }

/* [parts] ---------------------------------------*/
.entry-form { border:2px solid #ccc; border-top:1px solid #ccc; }
.entry-form th,
.entry-form td { border:none; border-top:1px solid #ccc; }
}

@media print, screen and (min-width: 640px) {
/* [title] --------------------------------------*/
.main h2 { font-size:1.29em; line-height:1.67; margin:75px 0 30px; padding:3px 12px; }
.main h3 { font-size:1.29em; line-height:1.67; margin:55px 0 -10px; padding:0 0 8px; }

/* [table] --------------------------------------*/
table th,
table td { padding:8px 20px; }

/* [list] --------------------------------------*/
.list li { padding-left:15px; }
.list li::before { left:5px; }

/* [column] --------------------------------------*/
.w30-5per { width:30.5%; }
.w32-6per { width:32.6%; }
.w33-7per { width:33.7%; }
.w38per { width:38%; }
.w38-5per { width:38.5%; }
.w58per { width:58%; }
.w60per { width:60%; }
.w61per { width:61%; }
.w64-5per { width:64.5%; }
.w66per { width:66%; }

/* [parts] ---------------------------------------*/
.main .copy01 { font-size:1.29em; line-height:1.67; margin:0 0 -8px; }
.banner-area { margin:89px 0 0; }
.banner-area ul { display:flex; justify-content:space-between; }
.banner-area ul li { width:49.3%; margin:0; }
.banner-area ul li img { width:auto; }
.main .entry-form { max-width:700px; margin:35px auto 0; }
.entry-form th { width:36.5%; padding:17px 17px 17px 23px; }
.entry-form th .required { border-radius:3px; width:55px; }
.entry-form td { padding:17px 23px; }
.entry-form td input[name="name"] { width:300px; }
.entry-form td input[type="checkbox"] { margin:0 20px 0 15px; }
.entry-form td label { display:inline-block; font-size:1em; margin:0; }
.entry-form td textarea { height:200px; }
.privacy-area { width:700px; height:116px; margin:20px auto 0; padding:20px 25px; }
.privacy-area h3 { font-size:1em; margin:0; padding:0; }
.privacy-area h4 { margin:25px 0 0; }
.privacy-area dl dt { margin:20px 0 0; }
.btn-form { text-align:center; margin:30px 0 0; }
.btn-form button[name="btn-check"],
.btn-form button[name="btn-send"] { border-radius:5px; font-size:1.07em; width:338px; height:52px; margin:0 auto; }
.btn-form #btn-back { border-radius:5px; display:inline-block; font-size:1.07em; width:338px; line-height:52px; margin:0 10px; }
.btn-form button[name="btn-send"] { margin:0 10px; }
}


/* =============================================
    toppage
============================================= */
#toppage .keyvisual { background:none; }
#toppage .keyvisual::before { display:none; }
#toppage .bx-wrapper { margin-bottom:0; }
#toppage .keyvisual #slide01 { background:url(../../img/bg-keyvisual-01.jpg) 50% 0 / 100% auto no-repeat; }
#toppage .keyvisual #slide02 { background:url(../../img/bg-keyvisual-02.jpg) 50% 0 / 100% auto no-repeat; }
#toppage .keyvisual #slide03 { background:url(../../img/bg-keyvisual-03.jpg) 50% 0 / 100% auto no-repeat; }
#toppage .keyvisual .slide span { display:block; text-indent:100%; width:100%; height:0; position:relative; overflow:hidden; white-space:nowrap; padding-top:34.1667%; }
#toppage .keyvisual #slide01 span { background:url(../../img/txt-keyvisual-01.png) 50% 0 / 100% auto no-repeat; }
#toppage .keyvisual #slide02 span { background:url(../../img/txt-keyvisual-02.png) 50% 0 / 100% auto no-repeat; }
#toppage .keyvisual #slide03 span { background:url(../../img/txt-keyvisual-03.png) 50% 0 / 100% auto no-repeat; }
#toppage .merit { display:flex; flex-wrap:wrap; }
#toppage .merit dl { box-sizing:border-box; width:50%; position:relative; }
#toppage .merit dl:nth-child(odd) { padding-right:5px; }
#toppage .merit dl:nth-child(even) { padding-left:5px; }
#toppage .merit dl:first-child,
#toppage .merit dl:nth-child(2) { margin-top:0; }
#toppage .merit dl dt { font-size:14px; margin:5px 0 3px; padding:75.2809% 0 0; }
#toppage .merit dl dd.image { position:absolute; top:0; left:0; right:0; }
#toppage .merit dl dd.image img { width:100%; }
#toppage .merit dl:nth-child(odd) dd.image { right:5px; }
#toppage .merit dl:nth-child(even) dd.image { left:5px; }
#toppage .news ul li { border-bottom:1px solid #d0d0d0; padding:7px 0; }
#toppage .news ul li:first-child { padding-top:0; }
#toppage .news ul li:last-child { border-bottom:none; padding-bottom:0; }
#toppage .news ul li dl { margin:0; }
#toppage .news ul li dl dt { color:#8e8e8e; }
#toppage .news ul li dl dd a { text-decoration:none; }
#toppage .news .btn-more { font-weight:bold; line-height:36px; }
#toppage .news .btn-more a { border:2px solid #c4c4c4; color:#006db6; display:block; text-align:center; text-decoration:none; position:relative; }
#toppage .news .btn-more a::before { border-top:2px solid #006db6; border-right:2px solid #006db6; content:""; display:block; width:5px; height:5px; position:absolute; top:14px; left:10px; transform:rotate(45deg); }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#toppage .keyvisual #slide01 { background-image:url(../../img/bg-keyvisual-01@2x.jpg); }
#toppage .keyvisual #slide02 { background-image:url(../../img/bg-keyvisual-02@2x.jpg); }
#toppage .keyvisual #slide03 { background-image:url(../../img/bg-keyvisual-03@2x.jpg); }
#toppage .keyvisual #slide01 span { background-image:url(../../img/txt-keyvisual-01@2x.png); }
#toppage .keyvisual #slide02 span { background-image:url(../../img/txt-keyvisual-02@2x.png); }
#toppage .keyvisual #slide03 span { background-image:url(../../img/txt-keyvisual-03@2x.png); }
}

@media print, screen and (min-width: 640px) {
#toppage .message img { max-width:326px; }
#toppage .merit { justify-content:space-between; }
#toppage .merit dl { width:17.8%; margin:0; }
#toppage .merit dl:nth-child(odd),
#toppage .merit dl:nth-child(even) { padding:0; }
#toppage .merit dl dt { font-size:1.14em; margin:11px 0 4px; }
#toppage .merit dl:nth-child(odd) dd.image { right:0; }
#toppage .merit dl:nth-child(even) dd.image { left:0; }
#toppage .news ul li { padding:10px 0; }
#toppage .news ul li dl { display:table; }
#toppage .news ul li dl dt { display:table-cell; white-space:nowrap; width:11em; }
#toppage .news ul li dl dd { display:table-cell; }
#toppage .news .btn-more { line-height:35px; width:180px; }
#toppage .news .btn-more a { border:3px solid #c4c4c4; }
#toppage .news .btn-more a::before { top:15px; }
}


/* =============================================
    company
============================================= */
#company .keyvisual { background-image:url(../../company/img/bg-keyvisual-01.jpg); }
#company .guidelines { counter-reset:guidelines; font-size:13px; }
#company .guidelines dt { background:#d4ecfb; position:relative; margin:10px 0 0; padding:7px 7px 7px 45px; }
#company .guidelines dt::before { background:#afdffd; counter-increment:guidelines 1; content:counter(guidelines); text-align:center; width:35px; position:absolute; top:0; left:0; bottom:0; padding:7px 0; }
#company .guidelines dd { border:3px solid #d4ecfb; border-top:none; padding:4px 7px; }

@media print, screen and (min-width: 640px) {
#company .guidelines { font-size:1.14em; margin-top:44px; }
#company .guidelines dt { box-sizing:border-box; clear:left; float:left; width:251px; padding:6px 7px 6px 64px; }
#company .guidelines dt:first-child { margin-top:0; }
#company .guidelines dt::before { width:44px; padding:6px 0; }
#company .guidelines dd { border-top:3px solid #d4ecfb; margin:10px 0 0 251px; padding:3px 19px; }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#company .keyvisual { background-image:url(../../company/img/bg-keyvisual-01@2x.jpg); }
}


/* =============================================
    job
============================================= */
#job .keyvisual { background-image:url(../../job/img/bg-keyvisual-01.jpg); }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#job .keyvisual { background-image:url(../../job/img/bg-keyvisual-01@2x.jpg); }
}


/* =============================================
    interview
============================================= */
#interview .keyvisual { background-image:url(../../interview/img/bg-keyvisual-01.jpg); }
#interview .interview-box { clear:both; margin:25px 0 0; }
#interview .interview-box dl { font-size:14px; font-weight:bold; line-height:1.5; position:relative; padding:265px 0 0; }
#interview .interview-box dl .photo { position:absolute; top:0; left:0; right:0; }
#interview .interview-box .copy01 { color:#0072c0; margin-bottom:-5px; }

@media only screen and (max-width:639px){
#interview .interview-box dl .photo { text-align:center; max-width:290px; margin:0 auto; }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#interview .keyvisual { background-image:url(../../interview/img/bg-keyvisual-01@2x.jpg); }
}

@media print, screen and (min-width: 640px) {
#interview .interview-box { margin:50px 0 0; }
#interview h2 + .interview-box { margin-top:0; }
#interview .interview-box dl { font-size:1.29em; margin:0; padding:30% 0 0; }
#interview .interview-box dl dt { margin:5px 0 0; }
#interview .interview-box .copy01 { margin-bottom:-5px; }
}


/* =============================================
    family
============================================= */
#family .keyvisual { background-image:url(../../family/img/bg-keyvisual-01.jpg); }
#family .name { font-weight:bold; text-align:right; }
#family .workstyle h2,
#family .support h2 { background:transparent; border-left:7px solid #11457c; border-bottom:1px solid #11457c; color:#221815; }
#family .workstyle div,
#family .support div { display:flex; flex-wrap:wrap; }
#family .workstyle div dl,
#family .support div dl { box-sizing:border-box; width:50%; position:relative; }
#family .workstyle div dl:nth-child(odd),
#family .support div dl:nth-child(odd) { padding-right:5px; }
#family .workstyle div dl:nth-child(even),
#family .support div dl:nth-child(even) { padding-left:5px; }
#family .workstyle div dl:first-child,
#family .workstyle div dl:nth-child(2) { margin-top:0; }
#family .support div dl:first-child,
#family .support div dl:nth-child(2) { margin-top:0; }
#family .workstyle div dl dt,
#family .support div dl dt { font-size:14px; margin:5px 0 3px; padding:75.3363% 0 0; }
#family .workstyle div dl dd.image,
#family .support div dl dd.image { position:absolute; top:0; left:0; right:0; }
#family .workstyle div dl dd.image img,
#family .support div dl dd.image img { width:100%; }
#family .workstyle div dl:nth-child(odd) dd.image,
#family .support div dl:nth-child(odd) dd.image { right:5px; }
#family .workstyle div dl:nth-child(even) dd.image,
#family .support div dl:nth-child(even) dd.image { left:5px; }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#family .keyvisual { background-image:url(../../family/img/bg-keyvisual-01@2x.jpg); }
}

@media print, screen and (min-width: 640px) {
#family .name { font-size:1.07em; }
#family .workstyle h2,
#family .support h2 { border-left:12px solid #11457c; }
#family .workstyle div,
#family .support div { justify-content:space-between; }
#family .workstyle div dl,
#family .support div dl { width:22.3%; margin:0; }
#family .workstyle div dl:nth-child(odd),
#family .support div dl:nth-child(odd),
#family .workstyle div dl:nth-child(even),
#family .support div dl:nth-child(even) { padding:0; }
#family .workstyle div dl dt,
#family .support div dl dt { font-size:1.14em; margin:11px 0 4px; }
#family .workstyle div dl:nth-child(odd) dd.image,
#family .support div dl:nth-child(odd) dd.image { right:0; }
#family .workstyle div dl:nth-child(even) dd.image,
#family .support div dl:nth-child(even) dd.image { left:0; }
}


/* =============================================
    requirements
============================================= */
#requirements .keyvisual { background-image:url(../../requirements/img/bg-keyvisual-01.jpg); }
#requirements .requirements-box h3 { border:none; border-left:7px solid #2c4779; color:#2c4779; position:relative; margin-top:60px; padding:7px; }
#requirements .requirements-box:first-child h3 { margin-top:50px; }
#requirements .requirements-box h3 span { background:#0071bc; color:#fff; font-size:12px; line-height:25px; position:absolute; top:-30px; left:-7px; padding:0 7px; }
#requirements .requirements-box .btn-more { font-size:15px; width:70px; line-height:36px; }
#requirements .requirements-box .btn-more a { background:#c1272d; border-radius:5px; color:#fff; display:block; text-align:center; text-decoration:none; }
#requirements .requirements-box table { border:none; border-top:1px solid #999; border-bottom:1px solid #999; }
#requirements .requirements-box table th,
#requirements .requirements-box table td { border:none; border-top:1px solid #999; }
#requirements .requirements-box table th { background:transparent; border-right:1px solid #999; padding-left:0; }

#requirements .requirements-detail h3 { border-left:7px solid #11457c; border-bottom:1px solid #11457c; color:#221815; padding:1px 7px; }
#requirements .requirements-detail .flow li { list-style:none; position:relative; margin:24px 0 0; }
#requirements .requirements-detail .flow li:first-child { margin-top:0; }
#requirements .requirements-detail .flow li::before { border-style:solid; border-width:11.3px 6.5px 0 6.5px; border-color:#11457c transparent transparent transparent; content:""; width:0; height:0; position:absolute; left:50%; bottom:-17px; margin-left:-6px; }
#requirements .requirements-detail .flow li:last-child::before { display:none; }
#requirements .requirements-detail .flow dl { margin:0; }
#requirements .requirements-detail .flow dl dt { background:#d4ecfb; position:relative; padding:7px 10px; }
#requirements .requirements-detail .flow dl dd { border:3px solid #d4ecfb; border-top:none; padding:4px 7px; }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#requirements .keyvisual { background-image:url(../../requirements/img/bg-keyvisual-01@2x.jpg); }
}

@media print, screen and (min-width: 640px) {
#requirements .banner-area ul li { margin:0 auto; }
#requirements .requirements-wrap { display:flex; flex-wrap:wrap; justify-content:space-between; }
#requirements .requirements-box { width:49%; position:relative; }
#requirements .requirements-box h3 { font-size:1.21em; margin-top:75px; padding:13px 115px 13px 8px; }
#requirements .requirements-box:first-child h3,
#requirements .requirements-box:nth-child(2) h3 { margin-top:32px; }
#requirements .requirements-box h3 span { font-size:0.94em; line-height:26px; top:-32px; padding:0 15px; }
#requirements .requirements-box .btn-more { font-size:1.29em; width:90px; line-height:50px; position:absolute; top:74px; right:15px; margin:0; }
#requirements .requirements-box:first-child .btn-more,
#requirements .requirements-box:nth-child(2) .btn-more { top:32px; }
#requirements .requirements-box table th { width:110px; }

#requirements .requirements-detail h3 { border-left:12px solid #11457c; padding:3px 12px; }
#requirements .requirements-detail table th { width:160px; }
#requirements .requirements-detail .flow li { margin:34px 0 0; }
#requirements .requirements-detail .flow li::before { left:100px; bottom:-22px; }
#requirements .requirements-detail .flow dl dt { box-sizing:border-box; float:left; text-align:center; width:200px; padding:6px 19px; }
#requirements .requirements-detail .flow dl dd { border-top:3px solid #d4ecfb; margin:10px 0 0 200px; padding:3px 19px; }
}


/* =============================================
    entry
============================================= */
#entry .keyvisual { background-image:url(../../entry/img/bg-keyvisual-01.jpg); }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#entry .keyvisual { background-image:url(../../entry/img/bg-keyvisual-01@2x.jpg); }
}

@media print, screen and (min-width: 640px) {
#entry .banner-area ul li { margin:0 auto; }
}


/* =============================================
    blog
============================================= */
#blog .keyvisual { background-image:url(../../blog/img/bg-keyvisual-01.jpg); }
#blog .blog-box { clear:both; }
#blog .blog-box h1 { background:#006db6; color:#fff; font-size:15px; margin:40px 0 25px; padding:1px 7px; }
#blog .blog-box h1 a { color:#fff; text-decoration:none; }
#blog .blog-box .meta dl { display:flex; font-size:11px; line-height:26px; margin:-10px 0 0; }
#blog .blog-box .meta dl dt { background:#4c9cd2; color:#fff; padding:0 7px; }
#blog .blog-box .meta dl dd { background:#cce6f7; padding:0 7px; }
#blog .blog-box .meta dl dd ul { line-height:26px; margin:0; }
#blog .blog-box .meta p { color:#006db6; font-size:11px; font-weight:bold; margin:5px 0 0; }
#blog .blog-box .blog-content { clear:both; }
.pnav { clear:both; font-weight:bold; margin:25px 0 0; }
.pnav div { width:100px; }
.pnav .prev { float:left; }
.pnav .next { float:right; }
.pnav a { background:#fff; border:2px solid #006db6; color:#006db6; display:block; text-align:center; text-decoration:none; line-height:30px; position:relative; }
.pnav a::before { border-top:1px solid #006db6; border-right:1px solid #006db6; content:""; width:4px; height:4px; position:absolute; top:50%; margin-top:-2px; }
.pnav .prev a::before { transform:rotate(225deg); right:9px; }
.pnav .next a::before { transform:rotate(45deg); left:9px; }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
#blog .keyvisual { background-image:url(../../blog/img/bg-keyvisual-01@2x.jpg); }
}

@media print, screen and (min-width: 640px) {
#blog .blog-box h1 { font-size:1.29em; line-height:1.67; margin:75px 0 30px; padding:3px 12px; }
#blog .blog-box .meta dl { font-size:0.86em; float:left; line-height:25px; margin:0 14px 0 0; }
#blog .blog-box .meta dl dd ul { line-height:25px; }
#blog .blog-box .meta p { font-size:0.86em; line-height:25px; margin:0; }
.pnav { margin:60px 0 0; }
.pnav div { width:176px; }
.pnav a { border-width:3px; line-height:38px; }
.pnav a::before { border-width:2px; width:7px; height:7px; margin-top:-5px; }
}
