@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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 { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

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

nav ul { list-style: none; }

li { list-style: none; }

blockquote, q { quotes: none; }

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

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color: inherit; text-decoration: none; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
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; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select, textarea { vertical-align: middle; -webkit-appearance: none; }

/* ---------------------------- layout ---------------------------- */
html { width: 100%; }

body { font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight: 400; color: #000000; min-height: 100%; width: 100%; letter-spacing: .08em; }

* { box-sizing: border-box; }

a { outline: none; }

a:focus { outline: none; }

img { max-width: 100%; }

.container { width: 100%; position: relative; }

@media screen and (max-width: 767px) { .container { padding-bottom: 23vw; } }

/* ---------------------------- main ---------------------------- */
.block { width: 100%; display: block; }

/* inner */
.inner { max-width: 1080px; width: 100%; margin: 0 auto; }

.inner.large { max-width: 1240px; }

.inner.x-large { max-width: 1500px; }

.inner.relative { position: relative; }

@media screen and (max-width: 767px) { .inner { width: 100%; padding: 0 3.5%; } }

/* header */
.header { width: 100%; max-width: 1340px; margin: 0 auto; padding: 25px 25px 0; display: flex; justify-content: space-between; align-items: center; }

.header-logo { width: 280px; }

.header-info { width: 480px; display: flex; justify-content: space-between; align-items: center; }

.header-info__item.is-tel { width: 58%; }

.header-info__item.is-contact { width: 42%; padding-left: 15px; }

@media screen and (max-width: 767px) { .header { padding: 10px 10px 5px; }
  .header-logo { width: 120px; }
  .header-info { width: calc(100% - 175px); max-width: 280px; }
  .header-info__item.is-tel { width: 58%; }
  .header-info__item.is-contact { width: 42%; padding-left: 1.5%; } }

/* footer */
.footer .copy { padding: 60px 0 80px; text-align: center; font-size: 12px; font-weight: bold; }

@media screen and (max-width: 767px) { .footer .copy { padding: 30px 0 40px; font-size: 10px; line-height: 1.6; } }

/* hero */
.hero { padding: 0; position: relative; background: -moz-linear-gradient(top, rgba(65, 183, 57, 0) 0%, rgba(65, 183, 57, 0) 65%, #41b739 65%, #41b739 100%); background: -webkit-linear-gradient(top, rgba(65, 183, 57, 0) 0%, rgba(65, 183, 57, 0) 65%, #41b739 65%, #41b739 100%); background: linear-gradient(to bottom, rgba(25, 183, 57, 0) 0%, rgba(65, 183, 57, 0) 65%, #41b739 65%, #41b739 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0041b739', endColorstr='#41b739',GradientType=0 ); }

.hero-img { width: 100%; max-width: 1340px; margin: 0 auto; }

.hero-img img { margin: 0 auto; }

.hero-copy { padding: 15px 0 55px; text-align: center; font-size: 46px; color: #fff; font-weight: normal; line-height: 1.4; }

@media screen and (max-width: 1000px) { .hero-copy { font-size: 30px; } }

@media screen and (max-width: 767px) { .hero { background: #41b739; }
  .hero-copy { padding: 25px 0 45px; font-size: 22px; line-height: 1.6; } }

/* onayami */
.onayami { background: url(../img/onayami_bg.jpg) top center no-repeat; background-size: cover; padding: 4% 0 8%; }

.onayami-textimg { padding-left: 7%; margin: 50px auto 0; }

@media screen and (max-width: 767px) { .onayami { padding: 35px 0 50px; }
  .onayami-textimg { padding-left: 0; margin: 30px auto 0; } }

/* omakase */
.omakase { background: #41b739; position: relative; padding: 0 0 25px; }

@media screen and (max-width: 767px) { .omakase { padding: 0 0 15px; } }

/* request */
.request { padding: 50px 0 80px; }

.request-list { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 55px; }

.request-list__item { width: 24%; margin-bottom: 45px; }

.request-list__box { width: 100%; height: 100%; border: 5px solid #d2d2d2; border-radius: 16px; background: #fff; text-align: center; padding: 60px 5px 40px; position: relative; }

.request-list__icon { position: absolute; top: -25px; left: calc(50% - 35px); width: 70px; height: auto; }

.request-list__text { font-size: 18px; line-height: 1.8; }

@media screen and (max-width: 767px) { .request { padding: 50px 0 60px; }
  .request-list { margin-top: 30px; }
  .request-list__item { width: 48.5%; margin-bottom: 25px; }
  .request-list__box { border: 4px solid #d2d2d2; border-radius: 12px; padding: 35px 15px 20px; }
  .request-list__icon { top: -15px; left: calc(50% - 20px); width: 40px; }
  .request-list__text { font-size: 15px; text-align: left; } }

/* message */
.message { padding: 100px 0 100px; overflow: hidden; }

.message-box { width: 100%; background: url(../img/message_bg.jpg) top center no-repeat; background-size: cover; }

.message-box__text { width: 100%; max-width: 1080px; margin: 30px auto; line-height: 3.2; padding: 345px 0 200px; text-align: center; position: relative; font-size: 22px; font-weight: bold; }

.message-box__img { position: absolute; top: 0; left: 0; width: 100%; }

@media screen and (max-width: 767px) { .message { padding: 70px 0 60px; }
  .message-box__text { line-height: 2; padding: 35% 6% 15%; font-size: 16px; z-index: 1; }
  .message-box__img { position: absolute; top: 0; left: 2%; width: 96%; z-index: -1; } }

/* point */
.point { padding-bottom: 80px; }

.point-list { position: relative; margin-top: 50px; }

.point-list.left .point-list__item { left: 0; }

.point-list.left .point-list__img { margin: auto 0 auto auto; }

.point-list.left .point-list__icon { top: -70px; right: 95px; }

.point-list.right .point-list__item { right: 0; }

.point-list.right .point-list__img { margin: auto auto auto 0; }

.point-list.right .point-list__icon { top: -70px; left: 95px; }

.point-list__item { position: absolute; width: 45%; height: 100%; display: flex; align-items: center; }

.point-list__item__inner { width: 100%; position: relative; background: #fff; border-radius: 15px; border: 2px solid #d2d2d2; padding: 60px 30px 45px; }

.point-list__icon { position: absolute; width: 120px; height: 120px; }

.point-list__title { font-size: 35px; margin-bottom: 30px; color: #41b739; font-weight: bold; }

.point-list__text { font-size: 21px; line-height: 1.8; }

.point-list__img { width: 62%; }

@media screen and (max-width: 767px) { .point { padding-bottom: 30px; }
  .point-list { position: relative; margin-top: 50px; }
  .point-list__item { position: relative; width: 100%; height: auto; display: block; }
  .point-list__item__inner { padding: 50px 20px 25px; }
  .point-list__icon { width: 75px; height: 75px; top: -40px !important; left: 10px !important; }
  .point-list__title { font-size: 22px; margin-bottom: 15px; }
  .point-list__text { font-size: 16px; }
  .point-list__img { width: 100%; margin: 20px auto !important; } }

/* price */
.price { padding: 50px 0 120px; }

.price-table { width: 100%; border-collapse: collapse; margin: 45px auto; }

.price-table__th { background: #41b739; padding: 30px 25px; border: 2px solid #fff; }

.price-table__td { padding: 25px; border-bottom: 2px solid #fff; }

.price-table tr:nth-child(even) td { background: #eeeeee; }

.price-table tr:nth-child(odd) td { background: #f2ffc7; }

.th-text { color: #fff; font-weight: bold; font-size: 20px; text-align: left; }

.td-text { font-size: 20px; text-align: left; }

.td-text.strong { font-size: 24px; color: #e7311d; font-weight: bold; }

@media screen and (max-width: 767px) { .price { padding: 50px 0 80px; }
  .price-table__th { padding: 20px 5px 20px 10px; }
  .price-table__td { padding: 15px 5px 15px 10px; }
  .th-text { font-size: 12px; }
  .td-text { font-size: 12px; }
  .td-text.strong { font-size: 14px; } }

/* area */
.area { padding: 120px 0 40px; }

.area .heading-sub { padding-top: 15px; }

.area-list { margin: 40px auto 20px; }

.area-list__name { background: #41b739; color: #fff; font-weight: bold; font-size: 26px; padding: 35px 5%; }

.area-list__detail { border: 3px solid #eeeeee; padding: 35px 5% 55px; font-size: 16px; line-height: 1.6; }

.area-annotation { text-align: center; font-size: 22px; color: #ff0000; font-weight: bold; }

@media screen and (max-width: 767px) { .area { padding: 80px 0 20px; }
  .area .heading-sub { padding-top: 15px; }
  .area-list { margin: 30px auto 20px; }
  .area-list__name { font-size: 18px; padding: 20px 3.5%; }
  .area-list__detail { border: 2px solid #eeeeee; padding: 20px 3.5% 35px; font-size: 14px; }
  .area-annotation { text-align: left; line-height: 1.4; font-size: 14px; } }

/* service */
.service { padding: 80px 0; }

.service-list { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 60px auto; }

.service-list__item { width: 32%; border: 5px solid #d2d2d2; border-radius: 16px; background: #fff; text-align: center; padding: 45px 5px; }

.service-list__item .img { display: block; width: 90%; max-width: 120px; margin: 0 auto; }

.service-list__item .text { margin-top: 30px; font-size: 22px; }

@media screen and (max-width: 767px) { .service { padding: 80px 0 30px; }
  .service-list { margin: 30px auto; max-width: 450px; width: 100%; }
  .service-list__item { width: 100%; border: 4px solid #d2d2d2; padding: 20px 5px; margin-bottom: 15px; }
  .service-list__item .img { display: block; width: 90%; max-width: 100px; margin: 0 auto; }
  .service-list__item .text { margin-top: 15px; font-size: 16px; } }

/* flow */
.flow { padding: 80px 0 0; }

.flow-list { margin: 50px auto; }

.flow-list__item { margin-bottom: 55px; position: relative; border: 2px solid #eeeeee; border-radius: 20px; padding: 25px; display: flex; justify-content: space-between; }

.flow-list__item:after { content: ""; position: absolute; bottom: -40px; left: calc(50% - 50px); width: 0; height: 0; border-style: solid; border-width: 40px 50px 0 50px; border-color: #41b739 transparent transparent transparent; }

.flow-list__item:last-child:after { border: none; }

.flow-list__item .img-box { width: 35%; }

.flow-list__item .text-box { width: 65%; padding-left: 35px; }

.flow-list__item .title-box { display: flex; justify-content: flex-start; align-items: center; padding-bottom: 20px; }

.flow-list__item .icon { width: 100px; height: 100px; }

.flow-list__item .title { padding-left: 1em; color: #41b739; font-size: 28px; font-weight: bold; }

.flow-list__item .flow-text { font-size: 18px; line-height: 1.9; }

@media screen and (max-width: 767px) { .flow { padding: 60px 0 0; }
  .flow-list { margin: 30px auto; }
  .flow-list__item { margin-bottom: 45px; border-radius: 15px; padding: 15px; flex-wrap: wrap; }
  .flow-list__item:after { bottom: -30px; left: calc(50% - 40px); border-width: 30px 40px 0 40px; }
  .flow-list__item .img-box { width: 100%; order: 2; text-align: center; }
  .flow-list__item .img-box img { width: 100%; max-width: 500px; }
  .flow-list__item .text-box { order: 1; width: 100%; padding-left: 0; margin-bottom: 15px; }
  .flow-list__item .title-box { padding-bottom: 10px; }
  .flow-list__item .icon { width: 80px; height: 80px; }
  .flow-list__item .title { font-size: 20px; line-height: 1.4; }
  .flow-list__item .flow-text { font-size: 15px; } }

/* faq */
.faq { padding: 80px 0 150px; }

.faq-list { margin: 35px auto; }

.faq-list__q { background: #41b739; color: #fff; font-weight: bold; font-size: 26px; padding: 35px 5%; position: relative; cursor: pointer; }

.faq-list__q:after { content: ""; position: absolute; right: 5%; top: calc(50% - 10px); width: 0; height: 0; border-style: solid; border-width: 20px 15px 0 15px; border-color: #ffffff transparent transparent transparent; }

.faq-list__q.is--active:after { top: calc(50% - 12px); border-width: 0 15px 20px 15px; border-color: transparent transparent #ffffff transparent; }

.faq-list__a { height: 0; overflow: hidden; padding: 0 5% 0; transition: all .3s; font-size: 16px; border-top: 1px solid #eee; border-right: 3px solid #eee; border-left: 3px solid #eee; line-height: 1.6; }

.faq-list__a.is--active { height: auto; border: 3px solid #eeeeee; padding: 35px 5% 55px; }

@media screen and (max-width: 767px) { .faq { padding: 60px 0 80px; }
  .faq-list { margin: 25px auto; }
  .faq-list__q { font-size: 18px; padding: 20px 30px 25px 3.5%; line-height: 1.4; }
  .faq-list__q:after { right: 10px; top: calc(50% - 8px); border-width: 12px 8px 0 8px; }
  .faq-list__q.is--active:after { top: calc(50% - 10px); border-width: 0 8px 12px 8px; border-color: transparent transparent #ffffff transparent; }
  .faq-list__a { padding: 0 3.5% 0; font-size: 14px; border-top: 1px solid #eee; border-right: 2px solid #eee; border-left: 2px solid #eee; line-height: 1.6; }
  .faq-list__a.is--active { border: 2px solid #eeeeee; padding: 20px 3.5% 35px; } }

/* contact */
.contact { padding: 120px 0 80px; }

.contact .required { color: #ff0000; }

.form-container { background: #e5e5e5; padding: 50px 0; margin: 50px auto 0; line-height: 1.6; font-size: 18px; }

.form-annotation { text-align: center; margin-bottom: 50px; line-height: 1.6; }

.form-box { background: #fff; padding: 45px 55px 100px; border-radius: 30px; }

.form-item { border-bottom: 1px solid #dcdcdc; display: flex; justify-content: flex-start; }

.form-item__name { font-weight: bold; padding: 15px; width: 300px; }

.form-item__name .annotation { font-size: 13px; font-weight: normal; padding-top: 15px; }

.form-item__input { padding: 15px 0 15px 30px; width: calc(100% - 300px); }

.radio-list { display: flex; justify-content: flex-start; flex-wrap: wrap; }

.radio-item { padding-right: 15px; margin-bottom: 10px; }

.input-radio { display: none; }

.input-radio + label { padding-left: 30px; position: relative; margin-right: 30px; }

.input-radio + label::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 18px; height: 18px; border: 1px solid #333; border-radius: 50%; }

.input-radio:checked + label { color: #ff0000; }

.input-radio:checked + label::after { content: ""; display: block; position: absolute; top: 4px; left: 4px; width: 12px; height: 12px; background: #ff0000; border-radius: 50%; }

.input-text { width: 100%; border-radius: 5px; border: 2px solid #dcdcdc; padding: 8px; font-size: 18px; box-shadow: none; }

.input-postal { width: 10em; max-width: 40%; border-radius: 5px; border: 2px solid #dcdcdc; padding: 8px; font-size: 18px; }

.text-area { width: 100%; border-radius: 5px; border: 2px solid #dcdcdc; padding: 8px; font-size: 18px; }

.btn-submit { display: block; appearance: button; -webkit-appearance: none; border: none; box-sizing: border-box; cursor: pointer; background: #41b739; color: #fff; text-align: center; font-weight: bold; transition: all .3s; font-size: 22px; padding: 25px; border-radius: 50px; width: 350px; max-width: 90%; margin: 45px auto 0; letter-spacing: .05em; }

.btn-submit:hover { opacity: .7; }

.privacy { margin: 70px auto; }

.privacy-title { font-size: 30px; font-weight: bold; text-align: center; background: #41b739; padding: 20px 0; margin-bottom: 30px; }

.privacy-read { line-height: 1.8; margin-bottom: 2em; }

.privacy-list { line-height: 1.8; text-indent: -1em; padding-left: 1em; }

@media screen and (max-width: 767px) { .contact { padding: 80px 0 60px; }
  .form-container { padding: 30px 0; margin: 30px auto 0; font-size: 14px; }
  .form-annotation { margin-bottom: 30px; }
  .form-box { background: #fff; padding: 20px 5% 40px; border-radius: 20px; }
  .form-item { flex-wrap: wrap; }
  .form-item__name { padding: 15px 0 10px; width: 100%; }
  .form-item__name .annotation { font-size: 12px; padding-top: 10px; }
  .form-item__input { padding: 8px 0 15px; width: 100%; }
  .radio-item { padding-right: 10px; margin-bottom: 6px; }
  .input-radio + label { padding-left: 24px; margin-right: 24px; }
  .input-radio + label::before { width: 14px; height: 14px; }
  .input-radio:checked + label::after { top: 4px; left: 4px; width: 8px; height: 8px; }
  .input-text { font-size: 16px; }
  .input-postal { width: 10em; max-width: 50%; font-size: 16px; }
  .text-area { width: 100%; font-size: 16px; }
  .btn-submit { font-size: 16px; padding: 15px; width: 200px; margin: 25px auto 0; }
  .privacy { margin: 40px auto 50px; }
  .privacy-title { font-size: 18px; padding: 10px 0; margin-bottom: 20px; } }

/* company */
.company { padding: 100px 0 0; }

.company-info { font-size: 18px; line-height: 1.8; padding: 0 40px; }

.company-info__item { border-bottom: 1px solid #dcdcdc; display: flex; justify-content: flex-start; }

.company-info__name { font-weight: bold; padding: 35px 0; width: 240px; }

.company-info__detail { padding: 35px 15px; width: calc(100% - 240px); }

@media screen and (max-width: 767px) { .company { padding: 60px 0 0; }
  .company-info { font-size: 15px; padding: 0 3.5%; }
  .company-info__name { font-weight: bold; padding: 20px 0; width: 5em; }
  .company-info__detail { padding: 20px 0 20px 15px; width: calc(100% - 5em); } }

/* heading */
.heading { text-align: center; line-height: 1.45; }

.heading-text { font-size: 48px; letter-spacing: .15em; }

.heading-icon { text-align: center; display: block; margin: 0 auto; }

.heading-icon.is--contact { width: 90px; }

.heading-icon.is--onayami { width: 105px; margin-bottom: 15px; }

.heading-icon.is--request { width: 95px; padding-right: 5px; margin-bottom: 15px; }

.heading-icon.is--point { width: 70px; margin-bottom: 15px; }

.heading-icon.is--price { width: 70px; margin-bottom: 15px; }

.heading-icon.is--area { width: 420px; margin-bottom: 0; }

.heading-icon.is--service { width: 95px; margin-bottom: 20px; }

.heading-icon.is--flow { width: 70px; margin-bottom: 20px; }

.heading-icon.is--faq { width: 65px; margin-bottom: 20px; }

.heading-icon.is--form { width: 80px; margin-bottom: 20px; }

.heading-icon.is--company { width: 110px; margin-bottom: 20px; }

.heading-sub { font-size: 24px; letter-spacing: .05em; margin-top: 10px; }

.heading-middle { font-size: 34px; letter-spacing: .05em; }

.t-green { color: #41b739; }

.t-white { color: #fff; }

@media screen and (max-width: 767px) { .heading-text { font-size: 24px; letter-spacing: .1em; }
  .heading-icon.is--contact { width: 67px; margin-bottom: 5px; }
  .heading-icon.is--onayami { width: 79px; margin-bottom: 10px; }
  .heading-icon.is--request { width: 71px; padding-right: 5px; margin-bottom: 10px; }
  .heading-icon.is--point { width: 52px; margin-bottom: 10px; }
  .heading-icon.is--price { width: 52px; margin-bottom: 10px; }
  .heading-icon.is--area { width: 315px; max-width: 95%; margin-bottom: 10px; }
  .heading-icon.is--service { width: 71px; margin-bottom: 15px; }
  .heading-icon.is--flow { width: 52px; margin-bottom: 10px; }
  .heading-icon.is--faq { width: 49px; margin-bottom: 15px; }
  .heading-icon.is--form { width: 60px; margin-bottom: 15px; }
  .heading-icon.is--company { width: 82px; margin-bottom: 15px; }
  .heading-sub { font-size: 16px; margin-top: 10px; }
  .heading-middle { font-size: 18px; } }

/* cv */
.cv-bar { padding-top: 20px; background: #41b739; position: relative; }

.cv-bar .heading { position: relative; z-index: 5; }

.cv-bar__bg { width: 390px; max-width: 45%; position: absolute; bottom: 0; left: 0; z-index: 1; }

.cv-bar-list { display: flex; justify-content: space-between; padding: 30px 0 20px; position: relative; z-index: 5; }

.cv-bar-list__item { width: 49%; padding: 15px 35px; background: #fff; border-radius: 15px; display: flex; align-items: center; box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.3); }

.cv-bar-list__item.is--contact { padding: 15px 55px; }

@media screen and (max-width: 767px) { .cv-bar__bg { width: 250px; max-width: 40%; }
  .cv-bar-list { padding: 10px 0 10px; }
  .cv-bar-list__item { width: 49%; padding: 12px 8px; border-radius: 10px; }
  .cv-bar-list__item.is--contact { padding: 8px 15px; } }

.js--fade { opacity: 0; transform: translate(0, 50px); }

.js--fade.is--active { opacity: 1; transform: translate(0, 0); transition: all 0.6s; }

@media screen and (max-width: 767px) { .js--fade { opacity: 0; transform: translate(0, 50px); transition: all 1s; }
  .js--fade.is--active { opacity: 1; transform: translate(0, 0); } }

.send-body { width: 94%; margin: 0 auto; min-height: 80vh; padding-top: 10%; text-align: center; font-size: 16px; line-height: 1.8; }

.send-body .text { margin-bottom: 1.5em; }

/* cv fixed */
.fixed-bar { width: 100%; position: fixed; bottom: 0; left: 0; background: #63b44d; display: none; z-index: 10; }

.fixed-bar-list { max-width: 1080px; width: 100%; margin: 0 auto; display: flex; justify-content: space-around; position: relative; padding: 5px 10px 10px; }

.fixed-bar-item { width: 27%; }

.fixed-bar-tel { width: 44%; padding-top: 0.8%; }

/* display  */
@media screen and (min-width: 768px) { .is--sp { display: none; }
  .is--pc { display: block; } }

@media screen and (max-width: 767px) { .is--sp { display: block; }
  .is--pc { display: none; } }
