@charset "UTF-8";
/*  common
================================================ */
/* ===================================================== reset.css - Edit html5doctor.com's CSS - http://html5doctor.com/html-5-reset-stylesheet/ Last Updated:2017-03-01 ====================================================== */
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, 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, hgroup, menu, nav, section, summary, time, mark, audio, video, input, select, textarea { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; font-style: normal; font-weight: 400; vertical-align: bottom; background: transparent; }

article, aside, details, figcaption, figure, footer, header, menu, nav, section { display: block; }

html { font-size: 62.5%; }

body { font-family: sans-serif; line-height: 1; }

ul, ol { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; vertical-align: bottom; background: transparent; outline: none; }

img { vertical-align: bottom; }

ins { background-color: #ff9; color: #000; text-decoration: none; }

mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

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; }

input, select, textarea { font-family: inherit; }

input[type="submit"] { cursor: pointer; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

/*  02_base
================================================ */
html { overflow: auto; }

body { min-width: 320px; font-family: "Noto Serif JP", "ヒラギノ角ゴ ProN W3", Meiryo, serif; color: #333; font-size: 1.4rem; line-height: 1.75; letter-spacing: .16em; overflow: hidden; }

@media all and (min-width: 600px) { body { padding-top: 0; font-size: 1.6rem; } }

body.sg { height: auto; }

a { color: inherit; text-decoration: underline; }

@media all and (min-width: 600px) { a:hover { text-decoration: none; } }

.u-alpha { display: block; text-decoration: none; }

@media all and (min-width: 600px) { .u-alpha { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .u-alpha:hover { opacity: .7; } }

img { width: 100%; height: auto; }

/* pc <--> sp
-------------------------------------- */
.u-media-query { display: none; font-family: 'sp'; }

@media all and (min-width: 600px) { .u-media-query { font-family: 'pc'; } }

@media all and (max-width: 599px) { .u-view-pc { display: none !important; } }

@media all and (min-width: 600px) { .u-view-sp { display: none !important; } }

.l-wrapper { position: relative; }

.l-container { padding: 20px 0 80px; }

@media all and (min-width: 600px) { .l-container { padding: 30px 0 80px; }
  .l-container.col2 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 1200px; margin: 0 auto; }
  .l-container.col2 .l-contents { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; width: calc(100% - 250px - 20px); }
  .l-container.col2 .l-sidebar { width: 250px; } }

/* .l-breadcrumb
================================================ */
.l-breadcrumb .breadcrumb-list { padding: 30px 10px 25px; }

.l-breadcrumb .breadcrumb-list__item { display: inline-block; position: relative; }

.l-breadcrumb .breadcrumb-list__item + .breadcrumb-list__item { padding-left: 28px; color: #a3a3a3; }

.l-breadcrumb .breadcrumb-list__item + .breadcrumb-list__item:before { content: ''; width: 4px; height: 4px; border: 0px; border-top: solid 1px #a3a3a3; border-right: solid 1px #a3a3a3; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 50%; left: 10px; margin-top: -2px; }

.l-breadcrumb .breadcrumb-list__link { text-decoration: none; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.l-breadcrumb .breadcrumb-list__link:hover { text-decoration: underline; }

/* .l-footer
================================================ */
.l-footer { padding: 35px 0 0; background: #ffc266; color: #fff; position: relative; }

@media all and (min-width: 600px) { .l-footer { padding: 0; } }

/* ft-pagetop
================================================ */
.ft-pagetop { position: fixed; width: 100%; bottom: 0; opacity: 0; -webkit-transition: all .2s linear; transition: all .2s linear; }

.ft-pagetop.is-view { opacity: 1; -webkit-transition: all 0s linear; transition: all 0s linear; }

.ft-pagetop_link { display: block; position: relative; height: 34px; text-decoration: none; }

.ft-pagetop_link:before, .ft-pagetop_link:after { display: block; content: ""; position: absolute; }

.ft-pagetop_link:before { top: 0; left: 0; width: 100%; height: 100%; background: #ff9900; }

.ft-pagetop_link:after { bottom: 0; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 20px; height: 20px; margin-left: -10px; border-left: 2px solid #fff; border-top: 2px solid #fff; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

@media all and (min-width: 600px) { .ft-pagetop { width: 50px; top: auto; right: 20px; }
  .ft-pagetop_link { display: block; position: relative; height: 34px; text-decoration: none; }
  .ft-pagetop_link:before { display: none; }
  .ft-pagetop_link:after { bottom: 0; left: 0; width: 20px; height: 20px; margin-left: 15px; border-left: 2px solid #333; border-top: 2px solid #333; } }

/* .ft-content
================================================ */
.ft-content .ft-info_logo { max-width: 280px; margin: 0 auto; }

.ft-content .ft-info_link { display: block; }

.ft-content .ft-info_area { margin-top: 15px; }

.ft-content .ft-info_area .txt { color: #333; text-align: center; }

.ft-content .ft-nav-list { margin-top: 20px; margin-left: -20px; margin-right: -20px; border-top: 3px solid #333; }

.ft-content .ft-nav-list_item { position: relative; }

.ft-content .ft-nav-list_item + .ft-nav-list_item { border-top: 1px solid #333; }

.ft-content .ft-nav-list_item:last-child { border-bottom: 1px solid #333; }

.ft-content .ft-nav-list_link { display: block; position: relative; padding: 8px 25px; text-align: left; text-decoration: none; color: #333; }

.ft-content .ft-nav-list_link:before { display: block; content: ""; position: absolute; top: 50%; left: 10px; width: 7px; height: 12px; margin-top: -3px; background: url("../img/common/ico_arrow02.png") no-repeat; background-size: 100%; }

@media screen and (min-width: 600px) { .ft-content .ft-info { padding: 30px 0; } }

@media screen and (min-width: 940px) { .ft-content_inner { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .ft-content .ft-info { width: calc(40% - 10px); }
  .ft-content .ft-info_box { width: auto; }
  .ft-content .ft-info_logo { padding-top: 15px; max-width: 380px; min-width: inherit; margin: 0; }
  .ft-content .ft-info_area { margin-top: 12px; }
  .ft-content .ft-info_area .txt { margin-left: 30px; text-align: left; }
  .ft-content .ft-nav-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; margin-left: 0; margin-right: 0; width: calc(60% - 40px); border: none; }
  .ft-content .ft-nav-list_item { width: 33.3333%; margin-top: 15px; }
  .ft-content .ft-nav-list_item:before, .ft-content .ft-nav-list_item:after { display: none; }
  .ft-content .ft-nav-list_item + .ft-nav-list_item { margin-left: 0; border: none; }
  .ft-content .ft-nav-list_item:nth-child(n+4) { margin-top: 30px; }
  .ft-content .ft-nav-list_item:hover { text-decoration: none; }
  .ft-content .ft-nav-list_link { display: block; padding: 0 0 0 20px; font-size: 1.4rem; border-bottom: none; text-decoration: none; -webkit-transition: all .2s linear; transition: all .2s linear; }
  .ft-content .ft-nav-list_link:before { left: 0; border-width: 4px 0 4px 8px; }
  .ft-content .ft-nav-list_link:after { display: none; }
  .ft-content .ft-nav-list a.ft-nav-list_link:hover { text-decoration: underline; } }

@media screen and (min-width: 1200px) { .ft-content .ft-info { width: calc(35% - 20px); }
  .ft-content .ft-info_logo { max-width: 250px; }
  .ft-content .ft-info_area { margin-top: 15px; }
  .ft-content .ft-nav-list { display: block; width: calc(65% - 20px); }
  .ft-content .ft-nav-list_item { display: inline-block; width: auto; }
  .ft-content .ft-nav-list_item + .ft-nav-list_item { margin-left: 50px; }
  .ft-content .ft-nav-list_item:nth-child(6) { margin-left: 0; }
  .ft-content .ft-nav-list_item:nth-child(n+6) { margin-top: 0; }
  .ft-content .ft-nav-list_item:nth-child(n+7) { margin-top: 50px; }
  .ft-content .ft-nav-list_link { font-size: 1.6rem; } }

/* .ft-cr
================================================ */
.ft-cr { padding: 5px 0; font-size: 1.1rem; color: #333; text-align: center; }

@media all and (min-width: 600px) { .ft-cr { border-top: 1px solid #333; margin-top: 30px; } }

/* .l-header
================================================ */
.l-header { position: fixed; top: 0; left: 0; width: 100%; min-width: 320px; z-index: 2000; }

@media screen and (min-width: 1240px) { .l-header { width: 100%; min-width: 1200px; } }

/* .l-header .hd-info
-------------------------------------- */
.l-header .hd-info { position: relative; z-index: 3; height: 50px; background: #ff9900; }

.l-header .hd-info-inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; box-sizing: border-box; height: 50px; }

.l-header .hd-info_logo { width: calc( 100% - 110px); max-width: 124px; }

.l-header .hd-info_logo-link { display: block; cursor: pointer; }

.l-header .hd-info .lead-txt { display: none; }

.l-header .hd-info .hd-tel { position: absolute; top: 0; right: 50px; }

.l-header .hd-info .hd-tel .hd-tel_num + .hd-tel_num { display: none; }

.l-header .hd-info .hd-tel_link { display: block; background: #ff9900; width: 50px; height: 50px; text-indent: -9999px; position: relative; }

.l-header .hd-info .hd-tel_link:before { display: block; content: ""; position: absolute; top: 50%; right: 15px; width: 20px; height: 30px; margin-top: -15px; margin-left: -10px; background: url("../img/common/ico_tel01.png") no-repeat center/100%; }

.l-header .hd-info .hd-tel .hd-tel_note { display: none; }

@media screen and (min-width: 878px) { .l-header .hd-info { height: 140px; background-color: rgba(255, 255, 255, 0.6); border-bottom: 10px solid #ff9900; z-index: 8; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-header .hd-info-inner { -webkit-box-align: inherit; -ms-flex-align: inherit; align-items: inherit; border-bottom: none; padding-bottom: 0; height: 140px; }
  .l-header .hd-info_logo { width: 230px; max-width: inherit; margin: 0; margin-top: 10px; z-index: 0; position: relative; }
  .l-header .hd-info_logo.is-open { display: none; }
  .l-header .hd-info .lead-txt { display: block; position: absolute; right: -360px; top: -2px; font-size: 1.4rem; }
  .l-header .hd-info_btn-contact { margin: 0; }
  .l-header .hd-info .hd-tel { position: static; top: auto; right: auto; margin-top: 18px; }
  .l-header .hd-info .hd-tel_link { display: block; background: none; position: static; width: auto; height: auto; text-indent: 0; pointer-events: none; text-decoration: none; }
  .l-header .hd-info .hd-tel_link:before { display: none; }
  .l-header .hd-info .hd-tel .hd-tel_num { font-size: 1.6rem; color: #333; font-weight: 600; }
  .l-header .hd-info .hd-tel .hd-tel_num + .hd-tel_num { display: block; }
  .l-header .hd-info .hd-tel .hd-tel_note { display: block; font-size: 1.3rem; } }

@media screen and (min-width: 1240px) { .l-header .hd-info { height: 140px; }
  .l-header .hd-info-inner { height: 140px; }
  .l-header .hd-info .hd-tel .hd-tel_num { font-size: 1.8rem; } }

@media screen and (min-width: 878px) { .l-header.is_active { background-color: rgba(255, 255, 255, 0.6); }
  .l-header.is_active .hd-info_logo { opacity: 1; } }

/* .l-header .nav-btn
-------------------------------------- */
.l-header .nav-btn { position: absolute; top: 0; right: 0; width: 50px; height: 50px; cursor: pointer; }

.l-header .nav-btn_line { position: absolute; left: 10px; width: 25px; height: 2px; content: ''; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.l-header .nav-btn_line:nth-child(1) { top: 17px; }

.l-header .nav-btn_line:nth-child(2) { top: 24px; }

.l-header .nav-btn_line:nth-child(3) { top: 31px; }

.l-header .nav-btn.is-open .nav-btn_line:nth-child(1) { top: 24px; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

.l-header .nav-btn.is-open .nav-btn_line:nth-child(2) { opacity: 0; }

.l-header .nav-btn.is-open .nav-btn_line:nth-child(3) { top: 24px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

@media screen and (min-width: 878px) { .l-header .nav-btn { display: none; } }

/* .l-nav
================================================ */
.l-nav { position: absolute; top: 50px; right: 0; z-index: 5; width: 60%; min-height: 100vh; min-width: 320px; padding: 25px 25px 0; background: #ffc266; border-top: 1px solid  #f2f2f2; box-sizing: border-box; text-align: center; -webkit-overflow-scrolling: touch; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; overflow: auto; -webkit-transform: translateX(120%); -ms-transform: translateX(120%); transform: translateX(120%); }

.l-nav::-webkit-scrollbar { display: none; }

.l-nav.is-open { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }

.l-nav .nav-list_item { position: relative; }

.l-nav .nav-list_item + .nav-list_item { border-top: 1px solid #fff; }

.l-nav .nav-list_item:last-child { border-bottom: 1px solid #fff; }

.l-nav .nav-list_trigger { position: absolute; top: 0; right: 0; width: 42px; height: 42px; }

.l-nav .nav-list_trigger:before, .l-nav .nav-list_trigger:after { display: block; content: ""; position: absolute; background: #fff; }

.l-nav .nav-list_trigger:before { top: 20px; left: 11px; width: 20px; height: 1px; }

.l-nav .nav-list_trigger:after { top: 11px; left: 21px; width: 1px; height: 20px; -webkit-transition: all .2s linear; transition: all .2s linear; }

.l-nav .nav-list_trigger.is-active:after { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }

.l-nav .nav-list_link { display: block; position: relative; padding: 8px 12px; color: #ff9900; text-align: left; text-decoration: none; color: #fff; }

.l-nav .nav-list .nav-sub-list_item { border-top: 1px solid #fff; }

.l-nav .nav-list .nav-sub-list_link { display: block; position: relative; padding: 8px 25px; font-size: 1.5rem; color: #fff; text-align: left; text-decoration: none; }

@media screen and (min-width: 878px) { .l-nav { position: static; top: 0; width: 100%; min-height: inherit; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); min-width: auto; padding: 0; background: none; border: none; margin-top: -5px; opacity: 1; text-align: left; overflow: initial; }
  .l-nav-img { width: 50%; }
  .l-nav .nav-list { width: 100%; }
  .l-nav .nav-list_item { display: inline-block; -webkit-transition: all .2s linear; transition: all .2s linear; }
  .l-nav .nav-list_item:before, .l-nav .nav-list_item:after { display: none; }
  .l-nav .nav-list_item + .nav-list_item { border: none; }
  .l-nav .nav-list_item:first-child .nav-list_link:after { display: none; }
  .l-nav .nav-list_item:hover { height: auto; overflow: visible; }
  .l-nav .nav-list_item:hover .nav-sub-list { opacity: 1; }
  .l-nav .nav-list_item .nav-sub-list { display: block; width: 200px; position: absolute; background: #fff; -webkit-transition: all .2s linear; transition: all .2s linear; opacity: 0; }
  .l-nav .nav-list_item .nav-sub-list_item { border-top: none; }
  .l-nav .nav-list_item .nav-sub-list .nav-sub-list_link { position: relative; -webkit-transition: all .2s linear; transition: all .2s linear; color: #333; }
  .l-nav .nav-list_item .nav-sub-list .nav-sub-list_link:hover { background: #ff9900; color: #fff; }
  .l-nav .nav-list_item .nav-sub-list .nav-sub-list_link:hover:after { opacity: 0.4; }
  .l-nav .nav-list_link { display: block; padding: 12px 16px; color: #333; letter-spacing: 0.01em; position: relative; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-nav .nav-list_link:before { display: block; content: ""; position: absolute; bottom: 5px; left: 50%; width: 20px; height: 2px; margin-left: -10px; background: #624c24; opacity: 1; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-nav .nav-list_link:hover { opacity: 0.6; }
  .l-nav .nav-list_link:hover:before { opacity: 0; }
  .l-nav .nav-list_trigger { display: none; } }

@media screen and (min-width: 860px) { .l-nav .nav-list { width: 834px; margin: 0 auto; } }

@media screen and (min-width: 1003px) { .l-nav .nav-list { width: 980px; }
  .l-nav .nav-list_link { padding: 12px 25px; } }

/* .nav-overlay
================================================ */
.nav-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.25); z-index: 1000; }

@media screen and (min-width: 878px) { .nav-overlay { display: none !important; } }

/* .l-main-img HOME
================================================ */
.l-main-img { box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; background: url("../img/home/img_main01.jpg") no-repeat bottom center; background-size: cover; height: 300px; }

.l-main-img .home-scroll { position: absolute; bottom: 15px; left: 50%; margin-left: -12px; width: 24px; }

.l-main-img .home-scroll_link { display: block; }

.l-main-img-inner { padding: 0 !important; width: 100%; }

.l-main-img_txt { width: 50%; min-width: 215px; max-width: 320px; margin-left: 20px; }

@media all and (min-width: 600px) { .l-main-img { height: 370px; }
  .l-main-img_txt { width: auto; max-width: 360px; }
  .l-main-img .home-scroll { margin-left: -18px; width: 36px; } }

@media screen and (min-width: 860px) { .l-main-img { height: 600px; }
  .l-main-img_txt { max-width: 500px; } }

@media screen and (min-width: 1140px) { .l-main-img { height: 700px; }
  .l-main-img_txt { max-width: 550px; } }

@media screen and (min-width: 1240px) { .l-main-img { height: 900px; }
  .l-main-img_txt { max-width: 590px; } }

/* .l-sub-img
================================================ */
.l-sub-img { box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: end; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 227px; }

.l-sub-img_head { margin-top: 35px; font-size: 1rem; text-align: center; font-weight: bold; }

@media all and (min-width: 600px) { .l-sub-img { height: 274px; } }

@media screen and (max-width: 877px) { .l-sub-img .u-inner { position: relative; width: 100%; }
  .l-sub-img .l-sub-img_head { position: absolute; bottom: -250px; left: 20px; } }

@media screen and (max-width: 600px) { .l-sub-img .u-inner { position: relative; width: 100%; }
  .l-sub-img .l-sub-img_head { position: absolute; bottom: -80px; left: 20px; } }

@media screen and (min-width: 878px) { .l-sub-img { height: 548px; }
  .l-sub-img_head { margin-top: 40px; font-size: 1.2rem; } }

@media screen and (max-width: 877px) { #access .l-sub-img .l-sub-img_head { position: absolute; bottom: -80px; left: 20px; } }

/*  utility
================================================ */
/* pc <--> sp
-------------------------------------- */
.u-media-query { display: none; font-family: 'sp'; }

@media all and (min-width: 600px) { .u-media-query { font-family: 'pc'; } }

@media all and (max-width: 599px) { .u-view-pc { display: none !important; } }

@media all and (min-width: 600px) { .u-view-sp { display: none !important; } }

/* link
-------------------------------------- */
.u-alpha { display: block; text-decoration: none; }

@media all and (min-width: 600px) { .u-alpha { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .u-alpha:hover { opacity: .7; } }

/* layout
-------------------------------------- */
.u-cf:after { content: ""; display: block; clear: both; }

.u-inner { box-sizing: border-box; }

@media screen and (max-width: 1240px) { .u-inner { padding-left: 20px; padding-right: 20px; } }

@media screen and (min-width: 1240px) { .u-inner { width: 100%; max-width: 1200px; margin: auto; } }
