@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; min-width:1400px; -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 #b0b0b0; box-sizing:border-box; padding:2px; }
label input { vertical-align:middle; }
select { background:#fff; border:1px solid #b0b0b0; box-sizing:border-box; padding:2px; }
input:focus, textarea:focus, select:focus { background:#ffefef; }
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:link,
a:visited { color:#000; text-decoration:underline; }
a:hover,
a:active { color:#000; text-decoration:none; }
a:hover img,
a:active img { opacity:0.6; }

/* [Font scheme] ------------------------------------*/
body { font-size:16px; font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif; }
input, select, textarea, button { font-size:16px; font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif; }

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

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

/* [header] -----------------------------------------*/
.header { background:rgba(255,255,255,0.95); border-bottom:1px solid #b4b4b4; min-width:1400px; height:109px; position:fixed; top:0; left:0; right:0; z-index:9999; }
.header h1 { width:275px; position:absolute; top:23px; left:25px; }
.header .gnav { display:flex; justify-content:flex-end; align-items:center; margin:23px 23px 0 0; }
.header .gnav a:hover,
.header .gnav a:active { opacity:0.6; }
.header .gnav ul { display:flex; }
.header .gnav ul:first-child { border-left:1px solid #d2d2d2; font-size:17px; line-height:66px; margin:0; }
.header .gnav ul:first-child li { border-right:1px solid #d2d2d2; text-align:center; width:182px; }
.header .gnav ul:first-child li a { display:block; text-decoration:none; }
.header .gnav ul:nth-child(2) { font-size:14px; line-height:36px; margin:11px 0 0 27px; }
.header .gnav ul:nth-child(2) li { text-align:center; width:138px; margin:0 0 0 12px; }
.header .gnav ul:nth-child(2) li a { border:2px solid #757575; display:block; text-decoration:none; position:relative; }
.header .gnav ul:nth-child(2) li a::before { border:1px solid #757575; content:""; position:absolute; top:2px; left:2px; right:2px; bottom:2px; }
.header .lang { font-size:14px; text-align:center; line-height:24px; width:133px; position:absolute; top:0; right:25px; }
.header .lang a { background:#6d6d6d; color:#fff; display:block; text-decoration:none; }
.header .lang a:hover,
.header .lang a:active { opacity:0.6; }
.header .btn_menu { display:none; }
.header .sp-menu { display:none; }

/* [pagetitle] --------------------------------------*/
.pagetitle { margin:110px 0 0; }
.pagetitle .inner { box-sizing:border-box; text-align:left; position:relative; max-width:1100px; height:192px; margin:0 auto; }
.pagetitle h1 { background:#595959; border:2px solid #fff; color:#fff; font-size:30px; font-weight:normal; text-align:center; line-height:56px; white-space:nowrap; position:absolute; left:0; bottom:-29px; padding:0 67px; }

/* [breadcrumb] -------------------------------------*/
.breadcrumb { box-sizing:border-box; text-align:left; max-width:1100px; margin:47px auto 0; }
.breadcrumb ol { font-size:14px; }
.breadcrumb ol li { display:inline; list-style:none; margin:0 0 0 0.3em; }
.breadcrumb ol li:first-child { margin:0; }
.breadcrumb ol li::before { content:">"; margin:0 0.4em 0 0; }
.breadcrumb ol li:first-child::before { display:none; }
.breadcrumb ol li a:link,
.breadcrumb ol li a:visited { color:#1160b2; text-decoration:none; }
.breadcrumb ol li a:hover,
.breadcrumb ol li a:active { color:#1160b2; text-decoration:underline; }

/* [contents] ---------------------------------------*/
.contents .inner { box-sizing:border-box; text-align:left; max-width:1100px; margin:0 auto; }
.contents p, .contents ul, .contents ol, .contents dl, .contents table { line-height:1.7; margin:30px 0 0; }

/* [footer] -----------------------------------------*/
.footer { border-top:3px solid #979797; clear:both; display:flex; justify-content:space-between; margin:70px 0 0; padding:67px 150px 85px; }
.footer address { border:1px solid #c0c0c0; font-style:normal; text-align:left; padding:43px 28px 47px 58px; order:2; }
.footer address dl dt { border-bottom:1px solid #b4b4b4; display:inline-block; text-align:center; padding:0 3px 21px 1px; }
.footer address dl dt img { width:275px; }
.footer address dl dd { font-size:14px; text-align:left; line-height:1.71; margin:22px 0 0; }
.footer address dl dd span { font-size:12px; }
.footer div { text-align:left; margin:-15px 0 0; order:1; }
.footer div ul { font-size:14px; }
.footer div ul li { position:relative; margin:17px 0 0; padding:0 0 0 18px; }
.footer div ul li::before { border-top:1px solid #8f8f8f; border-right:1px solid #8f8f8f; content:""; width:5px; height:5px; position:absolute; top:0.6em; left:1px; transform:rotate(45deg); }
.footer div ul li a:link,
.footer div ul li a:visited { text-decoration:none; }
.footer div ul li a:hover,
.footer div ul li a:active { text-decoration:underline; }
.footer div .copyright { font-size:12px; margin:72px 0 0; }

@media screen and (min-width: 599px) {
/* [Link scheme] ------------------------------------*/
a[href^="tel:"] { cursor: default; text-decoration:none; pointer-events:none; }

}

@media screen and (max-width: 598px) {
body { min-width:320px; }
body.fixed { position:fixed; width:100%; height:100%; }

/* [Font scheme] ------------------------------------*/
body { font-size:13px; }
input, select, textarea { font-size:16px; }

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

/* [header] -----------------------------------------*/
.header { background:#fff; border-bottom:none; min-width:320px; height:44px; }
.header h1 { width:108px; top:8px; left:15px; }
.header .gnav { display:none; }
.header .lang { display:none; }
.header .btn_menu { color:#df0422; cursor:pointer; display:block; font-family:Arial, Helvetica, sans-serif; font-size:7px; font-weight:bold; text-align:center; letter-spacing:0.1em; width:35px; position:absolute; top:0; right:15px; bottom:0; padding:8px 0 0; }
.header .btn_menu i { background:#df0422; width:24px; height:2px; position:absolute; top:23px; left:5px; }
.header .btn_menu i::before { background:#df0422; content:""; width:24px; height:2px; position:absolute; top:-5px; left:0; }
.header .btn_menu i::after { background:#df0422; content:""; width:24px; height:2px; position:absolute; top:5px; left:0; }
.header .sp-menu { background:#fff; box-sizing:border-box; width:100%; height:100%; overflow-y:scroll; position:fixed; top:0; left:0; bottom:auto; right:auto; padding:44px 0 0; z-index:9999; }
.header .sp-menu.on { display:block; }
.header .close { box-sizing:border-box; color:#df0422; cursor:pointer; display:block; font-family:Arial, Helvetica, sans-serif; font-size:7px; font-weight:bold; text-align:center; letter-spacing:0.1em; width:35px; height:44px; position:absolute; top:0; right:15px; padding:8px 0 0; }
.header .close i { background:transparent; width:24px; height:2px; position:absolute; top:23px; left:5px; }
.header .close i::before { background:#df0422; content:""; width:24px; height:2px; position:absolute; top:3px; left:0; transform:rotate(45deg); }
.header .close i::after { background:#df0422; content:""; width:24px; height:2px; position:absolute; top:3px; left:0; transform:rotate(-45deg); }
.header .sp-menu nav { width:219px; margin:0 auto; }
.header .sp-menu ul { font-size:14px; line-height:27px; margin:0; }
.header .sp-menu ul li { text-align:center; margin:9px 0 0; }
.header .sp-menu ul li a { border:2px solid #757575; display:block; text-decoration:none; position:relative; }
.header .sp-menu ul li a::before { border:1px solid #757575; content:""; position:absolute; top:2px; left:2px; right:2px; bottom:2px; }
.header .sp-menu ul li a::after { border-top:1px solid #b7b7b7; border-right:1px solid #b7b7b7; content:""; width:6px; height:6px; position:absolute; top:10px; left:10px; transform:rotate(45deg); }
.header .sp-menu .lang { display:block; line-height:30px; width:auto; position:static; margin:28px 0 0; }

/* [pagetitle] --------------------------------------*/
.pagetitle { margin:44px 0 0; }
.pagetitle .inner { max-width:100%; height:97px; }
.pagetitle h1 { border:1px solid #fff; font-size:17px; line-height:33px; left:50%; bottom:-15px; padding:0 27px; transform:translate(-50%,0); }

/* [breadcrumb] -------------------------------------*/
.breadcrumb { max-width:none; margin:37px 20px 0; }
.breadcrumb ol { font-size:12px; }

/* [contents] ---------------------------------------*/
.contents .inner { box-sizing:border-box; max-width:100%; padding:0 20px; }

/* [footer] -----------------------------------------*/
.footer { border-top:2px solid #979797; display:block; margin:50px 0 0; padding:17px 21px 40px; }
.footer div { margin:0; }
.footer div ul { font-size:13px; margin:0 -4px; }
.footer div ul li { margin:14px 0 0; padding:0 0 0 17px; }
.footer div ul li::before { top:0.55em; }
.footer address { margin:42px 0 0; padding:32px 21px 27px; }
.footer address dl dt { display:block; padding:0 10px 16px; }
.footer address dl dt img { width:203px; }
.footer address dl dd { font-size:12px; line-height:1.75; margin:16px 0 0; }
.footer div .copyright { text-align:center; margin:40px 0 0; }
}


/* =============================================
    layout
============================================= */
/* [title] --------------------------------------*/
.tit01 { background:#faf6f0; color:#705d39; font-size:18px; text-align:center; line-height:1.3; margin:2px -20px 20px; padding:9px 20px 7px; }
.tit01 .eng { color:#a27834; display:block; font-family:Helvetica,Arial,sans-serif; font-size:10px; font-weight:normal; }
.tit02 { background:url(../img/bg-h2.png) 0 100% / 15px 4px repeat-x; color:#705d39; font-size:15px; line-height:1.5; margin:30px 0 0; padding:0 0 6px; }
.tit03 { border-bottom:9px solid #faf8f4; color:#705d39; font-size:13px; margin:25px 0 0; padding:0 0 4px; }

/* [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; }
.anchor { position:relative; padding-left:20px; }
.anchor::before { border-top:1px solid #aaa; border-right:1px solid #aaa; content:""; width:6px; height:6px; position:absolute; top:0.4em; left:0; transform:rotate(45deg); }

/* [table] --------------------------------------*/
.tbl01 { border:1px solid #b0b0b0; width:100%; }
.tbl01 th,
.tbl01 td { border:1px solid #b0b0b0; vertical-align:middle; padding:13px 15px; }
.tbl01 th { background:#f1f1f1; font-weight:normal; text-align:center; }

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

/* [img] ---------------------------------------*/
.img-sp { display:none; }
.img-pc { display:inline; }
.img-l { float:left; margin:0 12px 0 0; }
.img-r { float:right; margin:0 0 0 12px; }
.alignleft { background:#ffffff; border:1px solid #dadada; float:left; margin:0 25px 0 0; padding:10px; }
.alignright { background:#ffffff; border:1px solid #dadada; float:right; margin:0 0 0 25px; padding:10px; }
.aligncenter { background:#ffffff; border:1px solid #dadada; display:block; margin:0 auto; padding:10px; }
.alignnone { background:#ffffff; border:1px solid #dadada; padding:10px; }

/* [column] --------------------------------------*/
.clm-l { float:left; }
.clm-r { float:right; }

/* [margin] --------------------------------------*/
.mt0 { margin-top:0 !important; }
.mt5 { margin-top:5px !important; }

/* [padding] -------------------------------------*/
.pb2em { padding-bottom:2em !important; }

@media screen and (max-width: 598px){
/* [img] ---------------------------------------*/
.img-sp { display:inline; }
.img-pc { display:none; }

/* [column] --------------------------------------*/
.clm-l,
.clm-r { float:none; }

/* [margin] --------------------------------------*/
.mt60 { margin-top:35px !important; }
}
