@charset "UTF-8";
/******************************* Preface ***************************************/
a:hover { color: #85ac4d; }

/********************************* body ***************************************/
body { /******************************** header **************************************/ /********************************  Main Content ******************************/ /***********************************  footer ********************************/ /*========= ページトップのためのCSS ===============*/ }

body header.header.top { height: 90vh; }

body header.header .inner { padding: 2rem 1.5rem; min-width: 100%; }

body header.header .inner .logo { margin: 0; margin-right: auto; }

body header.header .inner .logo a { display: block; }

body header.header .inner .logo a img { margin-right: 0; height: 1.5rem; }

body header.header .inner .menu-wrapper nav.gnav { display: block; position: fixed; top: 0; right: -100%; bottom: 0; width: 100%; padding: 2rem; padding-top: 20%; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: all .5s; z-index: 3; opacity: 0; margin-right: 0; }

body header.header .inner .menu-wrapper nav.gnav .menu-container { width: 100%; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu { display: flex; flex-direction: column; max-width: 100%; width: 100%; margin-bottom: 4rem; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item { width: 100%; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item a { font-size: 1.5rem; padding: 1.5rem 1rem; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item a > span { font-size: 1.3rem; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item.button { position: relative; margin-bottom: -0; margin-top: 3rem; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item.button a { position: relative; display: block; color: white; padding: 1em 2em; z-index: 1; background-image: none; background: #85ac4d; width: 90%; height: 100%; margin: 0 auto; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; border-radius: 10px; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item.button a > span { width: 100%; display: block; color: #f4da77; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item.button a img { display: block; width: 20px; padding-bottom: 0; margin-right: .3rem; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu > .menu-item.button a:hover { background-image: none; opacity: 1; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .nav-foot { max-width: 100%; width: 100%; padding-right: 0; text-align: center; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .nav-foot .logo { margin-bottom: 2rem; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .nav-foot .com_name { font-size: 1.2rem; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .nav-foot .add { font-size: 1.2rem; margin-bottom: 1.5rem; }

body header.header .inner .menu-wrapper .toggle-btn { display: block; position: fixed; top: 20px; right: 1.5rem; width: 30px; height: 45px; transition: all .5s; cursor: pointer; border-radius: 999px; z-index: 3; }

body header.header .inner .menu-wrapper .toggle-btn span { display: block; position: absolute; left: 0; width: 25px; height: 2px; background-color: #000; transition: all .5s; }

body header.header .inner .menu-wrapper .toggle-btn span:nth-child(1) { top: 16px; left: 0; right: 0; margin: 0 auto; }

body header.header .inner .menu-wrapper .toggle-btn span:nth-child(1) { top: 14px; left: 0; right: 0; margin: 0 auto; }

body header.header .inner .menu-wrapper .toggle-btn span:nth-child(2) { top: 22px; left: 0; right: 0; margin: 0 auto; }

body header.header .inner .menu-wrapper .toggle-btn span:nth-child(3) { bottom: 13px; left: 0; right: 0; margin: 0 auto; }

body header.header .inner .menu-wrapper #mask { display: none; transition: all .3s; }

body header.header .inner .menu-wrapper.open .gnav { right: 0; opacity: 1; background: white; }

body header.header .inner .menu-wrapper.open .toggle-btn { top: 20px; right: 1.5rem; }

body header.header .inner .menu-wrapper.open .toggle-btn span { background-color: #000; }

body header.header .inner .menu-wrapper.open .toggle-btn span:nth-child(1) { -webkit-transform: translateY(6px) rotate(-315deg); transform: translateY(6px) rotate(-315deg); }

body header.header .inner .menu-wrapper.open .toggle-btn span:nth-child(2) { opacity: 0; }

body header.header .inner .menu-wrapper.open .toggle-btn span:nth-child(3) { -webkit-transform: translateY(-10px) rotate(315deg); transform: translateY(-10px) rotate(315deg); }

body header.header .inner .menu-wrapper.open #mask { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: white; opacity: .8; z-index: 2; cursor: pointer; }

body header.header .mainvi .slider { height: 100%; }

body header.header .mainvi .copy { padding: 0 1.5rem; top: 45%; }

body header.header .mainvi .copy h1 { padding: 0; font-size: 10vw; }

body header.header .mainvi .copy h1 span { font-size: 10vw; }

body header.header.back-head .mainvi { position: relative; height: 200px; }

body header.header.back-head .header-title-wrap { padding: 2rem; width: 100%; }

body header.header.back-head .header-title-wrap h1 { font-size: 1.5rem; line-height: 1; z-index: 1; }

body header.header.back-head .header-title-wrap h1 > span { display: block; font-size: 1.2rem; padding-top: .5rem; }

body header.header.back-head .header-title-wrap .catch { font-size: 2rem; text-align: center; }

body main { overflow: hidden; }

body .content-wrap { padding: 4rem 0; }

body .content-wrap .inner { padding: 0 1.5rem; }

body .content-wrap .inner.inner-l { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap .inner.inner-m { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap .inner.inner-s { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap .inner.contents-wide-dead { margin-top: -25%; }

body .content-wrap.spc-pb { padding-bottom: 35%; }

body .content-wrap.spc-pb02 { padding-bottom: 35%; }

body .content-wrap h1.section-title, body .content-wrap h2.section-title, body .content-wrap h3.section-title, body .content-wrap h4.section-title, body .content-wrap h5.section-title, body .content-wrap h6.section-title { margin-bottom: 3rem; }

body .content-wrap h1.section-title span.main, body .content-wrap h2.section-title span.main, body .content-wrap h3.section-title span.main, body .content-wrap h4.section-title span.main, body .content-wrap h5.section-title span.main, body .content-wrap h6.section-title span.main { font-size: 1.8rem; }

body .content-wrap h1.section-title span.sub, body .content-wrap h2.section-title span.sub, body .content-wrap h3.section-title span.sub, body .content-wrap h4.section-title span.sub, body .content-wrap h5.section-title span.sub, body .content-wrap h6.section-title span.sub { font-size: 1.4rem; }

body .content-wrap h1.section-title-02, body .content-wrap h2.section-title-02, body .content-wrap h3.section-title-02, body .content-wrap h4.section-title-02, body .content-wrap h5.section-title-02, body .content-wrap h6.section-title-02 { margin-bottom: 3rem; }

body .content-wrap h1.section-title-02 span, body .content-wrap h2.section-title-02 span, body .content-wrap h3.section-title-02 span, body .content-wrap h4.section-title-02 span, body .content-wrap h5.section-title-02 span, body .content-wrap h6.section-title-02 span { display: block; }

body .content-wrap h1.section-title-02 span.main, body .content-wrap h2.section-title-02 span.main, body .content-wrap h3.section-title-02 span.main, body .content-wrap h4.section-title-02 span.main, body .content-wrap h5.section-title-02 span.main, body .content-wrap h6.section-title-02 span.main { font-size: 2rem; font-weight: bold; color: #85ac4d; }

body .content-wrap h1.content-title, body .content-wrap h2.content-title, body .content-wrap h3.content-title, body .content-wrap h4.content-title, body .content-wrap h5.content-title, body .content-wrap h6.content-title { margin-bottom: 2.5rem; }

body .content-wrap h1.content-title.boder-left-01, body .content-wrap h2.content-title.boder-left-01, body .content-wrap h3.content-title.boder-left-01, body .content-wrap h4.content-title.boder-left-01, body .content-wrap h5.content-title.boder-left-01, body .content-wrap h6.content-title.boder-left-01 { font-size: 1.3rem; }

body .content-wrap .left-img-wrap { position: absolute; bottom: -14%; left: -10%; z-index: 999; overflow: auto; }

body .content-wrap .left-img-wrap img { position: relative; z-index: 999; display: block; width: 100%; max-width: 100px; }

body .content-wrap .right-img-wrap { position: absolute; bottom: auto; top: 29%; right: -15%; }

body .content-wrap .right-img-wrap img { display: block; width: 100%; max-width: 120px; }

body .content-wrap .cricle { width: 50%; position: absolute; left: 50%; bottom: -15%; transform: translateX(-50%); z-index: 0; }

body .content-wrap .cricle.cricle02 { width: 50%; position: absolute; left: 50%; bottom: -30%; transform: translateX(-50%); }

body .content-wrap .cricle img { display: block; width: 100%; }

body .content-wrap .company-list li { display: flex; background: white; padding: 1rem 2rem; margin-bottom: 1rem; border-radius: 10px; }

body .content-wrap .company-list li .ttl { width: 20%; font-weight: 500; color: #85ac4d; font-size: 1rem; }

body .content-wrap .company-list li .detail { width: 80%; font-size: 1rem; }

body .content-wrap .company-list li .detail a { text-decoration: underline; color: #72853d; }

body .content-wrap .text-content-wrap h3 { font-weight: 500; font-size: 1.4rem; }

body .content-wrap .flow-wrap { position: relative; }

body .content-wrap .flow-wrap ul.area { padding: 2rem 0; }

body .content-wrap .flow-wrap ul.area.table-area { padding: 4rem 0; margin-bottom: 10%; }

body .content-wrap .flow-wrap ul.area.table-area li.table-list { display: flex; padding: 1.5rem 0; }

body .content-wrap .flow-wrap ul.area.table-area li.table-list p { font-weight: 500; width: 75%; padding: 1rem; }

body .content-wrap .flow-wrap ul.area.table-area li.table-list p.main { font-weight: bold; width: 25%; }

body .content-wrap .flow-wrap ul.area.table-area li.table-list p.main::before { content: ''; width: 1.4rem; height: 1.4rem; }

body .content-wrap .tab-wrapper ul.tab { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }

body .content-wrap .tab-wrapper ul.tab li { position: relative; width: calc((100% - 2rem) / 3); margin-right: 1rem; margin-bottom: 0; }

body .content-wrap .tab-wrapper ul.tab li a { display: block; padding: 1rem 0; text-align: center; font-size: 1.2rem; font-weight: 500; color: white; background: #afcb49; border-radius: 10px; transition: all .3s; }

body .content-wrap .tab-wrapper ul.tab li a:hover { background: #85ac4d; }

body .content-wrap .tab-wrapper .tab li.active a { background: #85ac4d; }

body .content-wrap .tab-wrapper .area { display: none; opacity: 0; }

body .content-wrap .tab-wrapper .area.is-active { display: block; animation: fadeIn 0.5s forwards; }

@keyframes fadeIn { to { opacity: 1; } }

body .content-wrap .box.box-2 .item { display: block; overflow: auto; }

body .content-wrap .box.box-2 .item.reverse { flex-direction: row-reverse; }

body .content-wrap .box.box-2 .item.reverse .text { padding-right: 0; padding-left: 0; }

body .content-wrap .box.box-2 .item > * { width: 100%; }

body .content-wrap .box .thumb img { display: block; width: 100%; margin: 0 auto; aspect-ratio: 16/10; object-fit: cover; }

body .content-wrap .box .text { padding: 1.5rem; }

body .content-wrap .box .text p { font-size: 1rem; }

body .content-wrap .box .text .main { font-size: 1.5rem; margin: 1rem 0 1.5rem 0; }

body .content-wrap .box-2col.box-2col-01 { display: block; }

body .content-wrap .box-2col.box-2col-01 .item { width: 100%; margin-right: 0; margin-bottom: 1.5rem; }

body .content-wrap .link-btn { width: 100%; }

body .content-wrap .link-btn.link-btn-03 a { font-size: 1.4rem; }

body .content-wrap .table tr th { width: 28%; padding: 1.5rem; }

body .content-wrap .table tr td { padding: 1.5rem; }

body .content-wrap form { padding-top: 2rem; }

body .content-wrap form .row { border-bottom: 1px solid #eef3f1; }

body .content-wrap form .row:first-child { border-top: 1px solid #eef3f1; }

body .content-wrap form .row .col-12 { display: block; flex-wrap: wrap; padding: 1rem 0; }

body .content-wrap form .row .col-12 label { width: 100%; font-size: 16px; font-weight: bold; }

body .content-wrap form .row .col-12 label.reqire::after { content: "*"; color: red; font-size: 1.2rem; }

body .content-wrap form .row .col-12 select, body .content-wrap form .row .col-12 input, body .content-wrap form .row .col-12 textarea { width: 100%; font-size: 16px; padding: .5rem 1rem; border-radius: 5px; }

body .content-wrap form .row .col-12 .radio-wrap { display: flex; flex-wrap: wrap; width: 100%; }

body .content-wrap form .row .col-12 .radio-wrap label { display: flex; align-items: center; width: 100%; padding-bottom: .5rem; }

body .content-wrap form .row .col-12 .radio-wrap input[type="radio"] { position: relative; background: white; padding: 0; margin-right: .5rem; width: 16px; height: 16px; border: 1px solid #ccc; border-radius: 50%; vertical-align: -2px; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

body .content-wrap form .row .col-12 .radio-wrap input[type="radio"]:checked:before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 12px; height: 12px; border-radius: 50%; background: #000; content: ''; }

body .content-wrap form .row .col-add { width: 100%; display: flex; flex-wrap: wrap; }

body .content-wrap form .row .col-add > div { width: 65%; margin-right: 5%; }

body .content-wrap form .row .col-add input { width: 100%; }

body .content-wrap form .row .col-add .add_func { width: 30%; }

body .content-wrap form .row .col-add #btnAutoAddress { width: 100%; border-radius: 10px; padding: 1rem; font-size: 1.1rem; }

body .content-wrap form .link-btn a, body .content-wrap form .link-btn input[type=submit] { width: 80%; }

body .content-wrap .map { aspect-ratio: 1/1; }

body .content-wrap .map iframe { width: 100%; height: 100%; max-height: 100%; }

body footer.footer { position: relative; }

body footer.footer .footer-obi-wrap { position: relative; width: 100%; height: 100%; }

body footer.footer .footer-obi-wrap .footer-obi-header { background-image: url(../img/footer_obi.png); background-position: center bottom; background-repeat: repeat-x; background-size: cover; width: 100%; height: 180px; margin-top: -10%; }

body footer.footer .inner { overflow: hidden; width: 100%; margin: 0 auto; padding: 5rem 1.5rem 5rem; margin-top: -8%; background: #a6c149; }

@media screen and (min-width: 678px) and (max-width: 1150px) { body footer.footer .inner.inner { padding: 4rem 40px; } }

body footer.footer .inner h3 { font-weight: 500; font-size: 2rem; }

body footer.footer .inner .contact-wrap { position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding: 4rem 2rem; margin: 3em auto; }

body footer.footer .inner .contact-wrap .btn-wrap { display: block; padding: 2rem 0 0 0; }

body footer.footer .inner .contact-wrap .btn-wrap a { width: 100%; display: flex; justify-content: center; align-items: center; text-align: center; color: white; border-radius: 10px; padding: 1.4rem 0; margin-bottom: 1em; font-size: 1.5rem; font-weight: 500; line-height: 1; }

body footer.footer .inner .contact-wrap .btn-wrap a img { display: block; width: 100%; max-width: 8%; margin-right: .8rem; }

body footer.footer .inner .contact-wrap .btn-wrap a.tel { background: #72853d; font-size: 1.8rem; letter-spacing: 0.1em; padding: 1rem 0; }

body footer.footer .inner .contact-wrap .footer-left-img img { display: block; position: absolute; top: 77%; left: -3%; width: 17%; }

body footer.footer .inner .contact-wrap .footer-right-img img { display: block; position: absolute; top: -8%; right: -5%; width: 30%; }

body footer.footer .copyright { background: #72853d; padding: 1.5rem 1rem; color: white; }

body footer.footer .copyright p { display: block; font-size: .9rem; text-align: center; }

body #page-top a { width: 70px; height: 70px; font-size: .7rem; }

body #page-top { position: fixed; right: 20px; bottom: 60px; z-index: 2; opacity: 0; transform: translateY(100px); }

body .scroll { position: absolute; right: 50%; top: auto; bottom: 5%; writing-mode: vertical-rl; font-weight: bold; color: #fff; font-size: .8rem; text-shadow: 0 0 20px rgba(0, 0, 0, 0.6); transform: translate(50%, 0); }

body .content-wrap-legal { padding-bottom: 8rem; }

body .content-wrap-legal .section-title { margin-bottom: 2.5rem !important; }

body .content-wrap-legal .legal_box { max-height: 300px; overflow-y: scroll; padding: 1.5rem 1.5rem; }

body .content-wrap-legal .legal_box .legal_item ul li { font-size: .95rem; }
