@charset "UTF-8";

/*========================== foundation ==========================*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html { line-height: 1.15; -webkit-text-size-adjust: 100%;
}

body { margin: 0;
}

main { display: block;
}

h1 { font-size: 2em; margin: .67em 0;
}

hr { box-sizing: content-box; height: 0; overflow: visible;
}

pre { font-family: monospace,monospace; font-size: 1em;
}

a { background-color: transparent;
}

abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted;
}

b, strong { font-weight: bolder;
}

code, kbd, samp { font-family: monospace,monospace; font-size: 1em;
}

small { font-size: 80%;
}

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;
}

sub { bottom: -.25em;
}

sup { top: -.5em;
}

img { border-style: none;
}

button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0;
}

button, input { overflow: visible;
}

button, select { text-transform: none;
}

[type=button], [type=reset], [type=submit], button { -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner { border-style: none; padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring { outline: 1px dotted ButtonText;
}

fieldset { padding: .35em .75em .625em;
}

legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;
}

progress { vertical-align: baseline;
}

textarea { overflow: auto;
}

[type=checkbox], [type=radio] { box-sizing: border-box; padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto;
}

[type=search] { -webkit-appearance: textfield; outline-offset: -2px;
}

[type=search]::-webkit-search-decoration { -webkit-appearance: none;
}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;
}

details { display: block;
}

summary { display: list-item;
}

template { display: none;
}

[hidden] { display: none;
}

html { box-sizing: border-box; font-family: sans-serif;
}

*, ::after, ::before { box-sizing: inherit;
}

blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, p, pre { margin: 0;
}

button { background: 0 0; padding: 0;
}

button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color;
}

fieldset { margin: 0; padding: 0;
}

ol, ul { list-style: none; margin: 0; padding: 0;
}

html { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; line-height: 1.5;
}

*, ::after, ::before { border-width: 0; border-style: solid; border-color: #e2e8f0;
}

img { border-style: solid;
}

textarea { resize: vertical;
}

[role=button], button { cursor: pointer;
}

table { border-collapse: collapse;
}

h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit;
}

a { color: inherit; text-decoration: inherit;
}

button, input, optgroup, select, textarea { padding: 0; line-height: inherit; color: inherit;
}

code, kbd, pre, samp { font-family: Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

audio, canvas, embed, iframe, img, object, svg, video { display: block; vertical-align: middle;
}

img, video { max-width: 100%; height: auto;
}

.container { width: 100%;
}

@media (min-width: 640px) { .container { max-width: 640px;
  }
}

@media (min-width: 768px) { .container { max-width: 768px;
  }
}

@media (min-width: 1024px) { .container { max-width: 1024px;
  }
}

@media (min-width: 1280px) { .container { max-width: 1280px;
  }
}

.appearance-none { -webkit-appearance: none; -moz-appearance: none; appearance: none;
}

html { -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-text-size-adjust: 100%; width: 100%; height: 100%; font-size: 62.5%; line-height: 1.8; -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: unset;
}

html * { -webkit-box-sizing: inherit; box-sizing: inherit;
}

html *:before, html *:after { -webkit-box-sizing: border-box; box-sizing: border-box;
}

body { font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", sans-serif; font-weight: 500; -webkit-text-size-adjust: 100%; width: 100%; color: #000; font-size: 16px; font-size: 1.6rem; line-height: 1.8; background: #fff; font-feature-settings: "palt"; letter-spacing: 0.02em;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { html, body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
}

img { display: inline-block;
}

.icon:before { vertical-align: 0;
}

a { text-decoration: underline; color: #000; transition: .4s;
}

a:hover { opacity: 0.7;
}

.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;
}

.slick-list:focus { outline: none;
}

.slick-list.dragging { cursor: pointer; cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
}

.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto;
}

.slick-track:before, .slick-track:after { display: table; content: '';
}

.slick-track:after { clear: both;
}

.slick-loading .slick-track { visibility: hidden;
}

.slick-slide { display: none; float: left;
}

[dir='rtl'] .slick-slide { float: right;
}

.slick-slide img { display: inline-block;
}

.slick-slide.slick-loading img { display: none;
}

.slick-slide.dragging img { pointer-events: none;
}

.slick-initialized .slick-slide { display: block;
}

.slick-loading .slick-slide { visibility: hidden;
}

.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent;
}

.slick-arrow.slick-hidden { display: none;
}

.slick-arrow { text-indent: -999px; overflow: hidden; width: 26px; height: 84px; background: url(/assets/images/icon_slider.png) no-repeat; position: absolute; top: 50%; transform: translateY(-50%); z-index: 1;
}

.slick-arrow:focus { outline: none;
}

.slick-prev { transform: translateY(-50%) scale(-1); left: 5px; outline: none;
}

@media screen and (min-width: 821px) { .slick-prev { left: -20px;
  }
}

.slick-next { transform: translateY(-50%); right: 5px; outline: none;
}

@media screen and (min-width: 821px) { .slick-next { right: -20px;
  }
}

.slick-dots { display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center;
}

.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;
}

.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent;
}

.slick-dots li button:hover, .slick-dots li button:focus { outline: none;
}

.slick-dots li button:before { font-family: 'slick'; line-height: 20px; position: absolute; top: 0; left: 0; width: 10px; height: 10px; text-align: center; content: ""; border-radius: 50%; opacity: .5; background: black; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before { opacity: 1; background-color: #c3d700;
}

select { -webkit-appearance: none; appearance: none;
}

@font-face { font-family: "iconfont"; src: url("fonts/iconfont.eot"); src: url("fonts/iconfont.eot?#iefix") format("eot"), url("fonts/iconfont.woff") format("woff"), url("fonts/iconfont.ttf") format("truetype"), url("fonts/iconfont.svg#iconfont") format("svg"); font-weight: normal; font-style: normal;
}

.icon { display: inline-block; font-family: "iconfont"; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

.icon-lg { font-size: 1.3333333333333333em; line-height: 0.75em; vertical-align: -15%;
}

.icon-2x { font-size: 2em;
}

.icon-3x { font-size: 3em;
}

.icon-4x { font-size: 4em;
}

.icon-5x { font-size: 5em;
}

.icon-fw { width: 1.2857142857142858em; text-align: center;
}

.icon-arrow:before { content: "\EA01";
}

.icon-bye:before { content: "\EA02";
}

.icon-cancel:before { content: "\EA03";
}

.icon-check:before { content: "\EA04";
}

.icon-edit:before { content: "\EA05";
}

.icon-keyboard:before { content: "\EA06";
}

.icon-login:before { content: "\EA07";
}

.icon-mortuary:before { content: "\EA08";
}

.icon-pin:before { content: "\EA09";
}

.icon-plus:before { content: "\EA0A";
}

.icon-print:before { content: "\EA0B";
}

.icon-search:before { content: "\EA0C";
}

.icon-sort:before { content: "\EA0D";
}

.icon-sortDown:before { content: "\EA0E";
}

.icon-sortUp:before { content: "\EA0F";
}

.icon-star:before { content: "\EA10";
}

.icon-trash:before { content: "\EA11";
}

/*========================== layout ==========================*/

.l-breadcrumb { overflow-x: auto; white-space: nowrap; padding-bottom: 10px; line-height: 1.4;
}

.-second .l-breadcrumb { display: none;
}

@media screen and (min-width: 1025px) { .l-breadcrumb { white-space: normal; padding-bottom: 0;
  }
}

.l-breadcrumb__wrap { display: inline-block; padding: 3% 3% 0;
}

@media screen and (min-width: 1025px) { .l-breadcrumb__wrap { padding: 40px 10px 0;
  }
}

.l-breadcrumb__li { display: inline; font-size: 80%;
}

.l-breadcrumb__li:after { content: ">"; margin: 0 0.7em;
}

.l-breadcrumb__li:last-child { font-weight: bold;
}

.l-breadcrumb__li:last-child:after { display: none;
}

@media screen and (min-width: 821px) { .l-flex { display: flex; justify-content: space-between; flex-wrap: wrap;
  }
}

.l-flex.-center { align-items: center;
}

.l-flex.-col2 > div { margin-top: 10%;
}

.l-flex.-col2 > div:first-child { margin-top: 0;
}

@media screen and (min-width: 821px) { .l-flex.-col2 > div { width: calc((100% - 3%) / 2); margin-top: 0;
  }

  .l-flex.-col2 > div:nth-child(n + 3) { margin-top: 60px;
  }
}

.l-flex.-col3 > div:nth-child(n + 2) { margin-top: 8%;
}

@media screen and (min-width: 821px) { .l-flex.-col3 { justify-content: flex-start;
  }

  .l-flex.-col3 > div { width: calc((100% - 6%) / 3); margin-left: 3%;
  }

  .l-flex.-col3 > div:nth-child(3n + 1) { margin-left: 0;
  }

  .l-flex.-col3 > div:nth-child(n + 2) { margin-top: 0;
  }

  .l-flex.-col3 > div:nth-child(n + 4) { margin-top: 30px;
  }
}

.l-flex.-col4 { display: flex; justify-content: space-between; flex-wrap: wrap;
}

.l-flex.-col4 > div { width: calc((100% - 3%) / 2); margin-left: 3%;
}

.l-flex.-col4 > div:nth-child(2n + 1) { margin-left: 0;
}

.l-flex.-col4 > div:nth-child(n + 3) { margin-top: 20px;
}

@media screen and (min-width: 821px) { .l-flex.-col4 { justify-content: flex-start;
  }

  .l-flex.-col4 > div { width: calc((100% - 90px) / 4); margin-left: 30px;
  }

  .l-flex.-col4 > div:nth-child(2n + 1) { margin-left: 30px;
  }

  .l-flex.-col4 > div:nth-child(4n + 1) { margin-left: 0;
  }

  .l-flex.-col4 > div:nth-child(n + 3) { margin-top: 0;
  }

  .l-flex.-col4 > div:nth-child(n + 5) { margin-top: 20px;
  }
}

.l-flex.-col5 { display: flex; justify-content: space-between; flex-wrap: wrap;
}

.l-flex.-col5 > div { width: calc((100% - 3%) / 2); margin-left: 3%;
}

.l-flex.-col5 > div:nth-child(2n + 1) { margin-left: 0;
}

.l-flex.-col5 > div:nth-child(n + 3) { margin-top: 20px;
}

@media screen and (min-width: 821px) { .l-flex.-col5 { justify-content: flex-start;
  }

  .l-flex.-col5 > div { width: calc((100% - 120px) / 5); margin-left: 30px;
  }

  .l-flex.-col5 > div:nth-child(2n + 1) { margin-left: 30px;
  }

  .l-flex.-col5 > div:nth-child(5n + 1) { margin-left: 0;
  }

  .l-flex.-col5 > div:nth-child(n + 3) { margin-top: 0;
  }

  .l-flex.-col5 > div:nth-child(n + 6) { margin-top: 20px;
  }
}

.l-flex.-col6 { display: flex; justify-content: flex-start; flex-wrap: wrap;
}

.l-flex.-col6 > div { width: calc((100% - 6%) / 3); margin-left: 3%;
}

.l-flex.-col6 > div:nth-child(3n + 1) { margin-left: 0;
}

.l-flex.-col6 > div:nth-child(n + 4) { margin-top: 20px;
}

@media screen and (min-width: 821px) { .l-flex.-col6 > div { width: calc((100% - 150px) / 6); margin-left: 30px;
  }

  .l-flex.-col6 > div:nth-child(3n + 1) { margin-left: 30px;
  }

  .l-flex.-col6 > div:nth-child(6n + 1) { margin-left: 0;
  }

  .l-flex.-col6 > div:nth-child(n + 3) { margin-top: 0;
  }

  .l-flex.-col6 > div:nth-child(n + 7) { margin-top: 20px;
  }
}

.l-flex.-dot > div { position: relative; padding-left: 3%; padding-right: 3%;
}

.l-flex.-dot > div:after { content: ""; display: block; width: 1px; height: 100%; border-right: dotted 1px #e8e3da; position: absolute; right: -3%; top: 0;
}

.l-flex.-dot > div:last-child:after { display: none;
}

@media screen and (min-width: 821px) { .l-flex.-dot > div { padding-left: 0; padding-right: 0;
  }

  .l-flex.-dot > div:after { right: -15px;
  }
}

.l-floatbnr { border-radius: 10px 10px 0 0; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); z-index: 1; padding: 3%; width: 90%; position: fixed; z-index: 2; left: 50%; bottom: 0; transform: translateY(0) translateX(-50%); transition: .4s; border: solid 2px #fff; background: linear-gradient(135deg, rgba(242, 240, 230, 0.5) 0%, rgba(252, 252, 249, 0.9) 100%), url(/assets/images/bg_floatbnr.jpg);
}

.l-floatbnr.-hidden { transform: translateY(120%) translateX(-50%);
}

@media screen and (min-width: 1025px) { .l-floatbnr { border-radius: 8px 0 0 8px; max-width: 290px; padding: 50px 30px 30px; left: auto; bottom: auto; right: 0; top: 50%; margin: 0; transform: translateY(-40%) translateX(0);
  }

  .l-floatbnr.-hidden { transform: translateY(-40%) translateX(120%);
  }
}

.l-floatbnr__head { font-size: 20px; font-size: 2rem; line-height: 1.2; padding: 10px; margin-bottom: 0.5em;
}

@media screen and (min-width: 1025px) { .l-floatbnr__head { font-size: 28px; font-size: 2.8rem;
  }
}

.l-floatbnr__close { width: 20px; height: 20px; border-radius: 100px; background: #004831; display: flex; justify-content: center; align-items: center; color: #fff; position: absolute; top: -10px; left: -10px; cursor: pointer;
}

.l-floatbnr__close img { width: 14px;
}

@media screen and (min-width: 821px) { .l-floatbnr__close { width: 30px; height: 30px;
  }
}

.l-floatbox { background: #fff; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); z-index: 1; padding: 3%; width: 90%; margin: 0 auto 8%; position: relative;
}

@media screen and (min-width: 1025px) { .l-floatbox { border-radius: 8px 0 0 8px; width: 320px; padding: 30px; position: absolute; right: 0; bottom: 20px; margin: 0; z-index: 2;
  }
}

.l-ftbnr { background: #E8E8E8; padding: 5%; text-align: center;
}

@media screen and (min-width: 821px) { .l-ftbnr { padding: 30px 40px;
  }
}

.l-ftbnr__inner > div { display: inline-block; margin: 10px;
}

.l-footer { background: #004831; border-top: solid 5px #c4d700; color: #fff; padding: 8% 3% 20%; font-size: 16px; font-size: 1.6rem; text-align: center; position: relative;
}

@media screen and (min-width: 821px) { .l-footer { padding: 40px; text-align: left;
  }
}

@media screen and (min-width: 821px) { .l-footer__inner { display: flex; justify-content: space-between; margin-bottom: 40px;
  }
}

.l-footer__h3 { font-size: 24px; font-size: 2.4rem;
}

@media screen and (min-width: 1025px) { .l-footer__main { padding-left: 1em;
  }
}

.l-footer__nav { font-size: 0px; font-size: 0rem;
}

.l-footer__nav__li { padding: 10px 0; font-size: 16px; font-size: 1.6rem;
}

@media screen and (min-width: 821px) { .l-footer__nav__li { display: inline-block; padding: 0;
  }

  .l-footer__nav__li:after { content: "｜"; margin: 0 10px;
  }

  .l-footer__nav__li:last-child:after { display: none;
  }
}

.l-footer__nav__a { text-decoration: none; color: #fff;
}

.l-footer__btn { padding-top: 5%;
}

@media screen and (min-width: 821px) { .l-footer__btn { display: flex; padding-top: 0; padding-left: 40px; border-left: solid 1px #fff; width: 40%; max-width: 340px; display: block;
  }

  .l-footer__btn > div { width: 100%; margin-left: 0;
  }
}

.l-footer__btn .c-btn { background: transparent; border: solid 1px #fff; box-shadow: none; width: 100%; margin-bottom: 20px; padding: 0.5em 1em;
}

.l-footer__sub { border-top: solid 1px #fff; padding: 40px 0; margin-top: 40px;
}

@media screen and (min-width: 821px) { .l-footer__sub { display: flex; flex-wrap: wrap;
  }
}

@media screen and (min-width: 821px) { .l-footer__logo { margin-right: 4em;
  }
}

.l-footer__copy { font-size: 10px; font-size: 1rem; opacity: 0.7; letter-spacing: 0.05em; display: block; text-align: center;
}

@media screen and (min-width: 821px) { .l-footer__copy { text-align: right;
  }
}

.l-footer__pagetop { background: #004831; width: 80px; height: 80px; display: flex; justify-content: center; align-items: center; border-radius: 100px; position: fixed; right: 20px; bottom: 78px; transform: rotate(-90deg); z-index: 1; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); right: 10px; bottom: 8px; transform: rotate(-90deg) scale(0.7); transition: .4s;
}

@media screen and (min-width: 1025px) { .l-footer__pagetop { transform: rotate(-90deg) scale(1); right: 20px; bottom: 78px;
  }
}

.l-footer__pagetop.-hidden { bottom: -120px;
}

.l-groupHeader { background: #004831; border-bottom: solid 5px #c4d700; position: relative; z-index: 5;
}

.l-groupHeader__inner { padding: 0 20px; height: 59px; align-items: center; display: flex; justify-content: space-between;
}

@media screen and (max-width: 821px) { .l-groupHeader { border-bottom: solid 4px #c4d700;
  }

  .l-groupHeader img { -webkit-backface-visibility: hidden;
  }

  .l-groupHeader__inner { padding: 0 10px; height: 51px;
  }

  .l-groupHeader .headerGroupLeft { width: 90px; height: 26px;
  }

  .l-groupHeader .headerGroupLeft img { margin-bottom: 2px;
  }

  .l-groupHeader .headerGroupRight { width: 65px;
  }

  .l-groupHeader .headerGroupRight img { margin-bottom: 2px;
  }
}

.l-header { background: #fff; box-shadow: 0 9px 10px rgba(0, 0, 0, 0.1); position: sticky; top: 0; left: 0; z-index: 5;
}

.l-header__inner { padding: 20px; display: flex; justify-content: center; align-items: center;
}

@media screen and (min-width: 821px) { .l-header__inner { justify-content: space-between; padding: 0 20px 0 40px;
  }
}

.l-header__nav { display: block; position: absolute; width: 100%; top: 81px; background: #fbfbf9; height: 0; overflow: hidden; padding: 0 5%; transition: .4s; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) inset; text-align: center; font-size: 16px; font-size: 1.6rem;
}

.l-header__nav.is-active { height: calc(100vh - 81px); top: 81px; padding: 5%;
}

@media screen and (min-width: 821px) { .l-header__nav { display: block; text-align: right; height: auto; position: static; background: transparent; width: auto; padding: 0; font-size: 11px; font-size: 1.1rem; box-shadow: none; overflow: visible;
  }

  .l-header__nav.is-active { height: auto; padding: 0;
  }
}

@media screen and (min-width: 970px) { .l-header__nav { font-size: 14px; font-size: 1.4rem;
  }
}

@media screen and (min-width: 1290px) { .l-header__nav { display: flex; align-items: center; font-size: 15px; font-size: 1.5rem;
  }
}

.l-header__globalnav { font-weight: 400; margin-bottom: 40px;
}

@media screen and (min-width: 821px) { .l-header__globalnav { margin-bottom: 0;
  }
}

.l-header__globalnav__li { display: block; text-align: center; border-bottom: solid 1px #e8e3da;
}

.l-header__globalnav__li__a { display: block;
}

@media screen and (min-width: 821px) { .l-header__globalnav__li { display: inline-block; margin-right: 5px; border: none;
  }

  .l-header__globalnav__li:last-child { margin-right: 0;
  }
}

@media screen and (min-width: 1290px) { .l-header__globalnav__li { margin-right: 8px;
  }

  .l-header__globalnav__li:last-child { margin-right: 16px;
  }
}

.l-header__globalnav__a { text-decoration: none; display: block; padding: 10px 0; position: relative;
}

.l-header__globalnav__a:after { content: ""; display: block; height: 4px; width: 0px; background: #c4d700; position: absolute; bottom: 0; left: 0; transition: .4s;
}

.l-header__globalnav__a.-current { font-weight: bold;
}

.l-header__globalnav__a.-current:after { width: 100%;
}

.l-header__globalnav__a:hover:after { width: 100%;
}

@media screen and (min-width: 821px) { .l-header__globalnav__a { padding: 8px 0 5px; margin-bottom: 7px;
  }
}

@media screen and (min-width: 1290px) { .l-header__globalnav__a { padding: 30px 0; margin-bottom: 0;
  }
}

.l-header__btn { font-weight: 400; display: inline-block;
}

.l-header__btn__li { display: inline-block; margin-right: 10px;
}

.l-header__btn__li:last-child { margin-right: 0;
}

@media screen and (min-width: 821px) { .l-header__btn__li { display: inline-block; margin-right: 0; padding: 0 0 10px; border: none;
  }

  .l-header__btn__li:last-child { margin-right: 0;
  }

  .l-header__btn__li .c-btn { transform: scale(0.9); transform-origin: right top;
  }
}

@media screen and (min-width: 1290px) { .l-header__btn__li { padding: 0;
  }

  .l-header__btn__li .c-btn { transform: scale(1);
  }
}

.l-header__menu { width: 88px; position: absolute; top: 0; right: 0; z-index: 110; height: 88px; display: flex; align-items: start; justify-content: center; font-size: 10px; font-size: 1rem; text-decoration: none; display: none;
}

@media screen and (max-width: 821px) { .l-header__menu { width: 70px; height: 60px; top: 50%; display: block; transform: translateY(-50%);
  }

  .l-header__menu p { margin-bottom: 6px; text-align: center;
  }
}

.l-header__menu.is-active { border-right: none;
}

.l-header__menu__icon { width: 26px; height: 16px; display: block; position: relative; margin: 28px auto 14px;
}

@media screen and (max-width: 821px) { .l-header__menu__icon { margin: 15px auto 9px;
  }
}

.l-header__menu__icon:before { content: ""; display: block; width: 26px; height: 2px; position: absolute; top: 0; left: 0; transition: .4s; background-color: #004831;
}

.is-active .l-header__menu__icon:before { transform: rotate(-405deg); top: 7px; left: -3px;
}

.l-header__menu__icon:after { content: ""; display: block; width: 26px; height: 2px; position: absolute; bottom: 0; left: 0; transition: .4s; background-color: #004831;
}

.is-active .l-header__menu__icon:after { transform: rotate(405deg); bottom: 7px; left: -3px;
}

.l-header__menu__icon span { display: block; width: 26px; height: 2px; position: absolute; top: 50%; left: 0; margin-top: -1px; background-color: #004831; transition: .4s;
}

.is-active .l-header__menu__icon span { opacity: 0;
}

.l-mypageHeader { text-align: center; background: url("/assets/images/_dummy/hd_mypage_bg.jpg") repeat-x; position: sticky; top: 0; left: 0; z-index: 5;
}

.l-mypageHeader img { object-fit: cover; object-position: left; height: 101px;
}

.l-hdnav { padding: 8px 20px 0; background: #fff; text-align: right; font-size: 1.2rem; position: relative; z-index: 6;
}

@media screen and (min-width: 821px) { .l-hdnav { font-size: 1.4rem;
  }
}

.l-hdnav:after { content: ""; display: block; width: calc(100% - 40px); background: #ddd; position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%); height: 1;
}

@media screen and (min-width: 1290px) { .l-hdnav:after { bottom: -8px;
  }
}

.l-hdnav__a { text-decoration: none;
}

.l-hdnav__a i { line-height: 0; vertical-align: 1px; height: 18px; display: inline-block;
}

.l-contents { padding-bottom: 80px; overflow: hidden;
}

@media screen and (min-width: 1025px) { .l-contents { overflow: visible;
  }
}

.l-wrapper { font-size: 14px; font-size: 1.4rem; background: url(/assets/images/bg.png) no-repeat; background-size: 60%; background-position: right -50% top -5vw;
}

@media screen and (min-width: 1025px) { .l-wrapper { background-position: calc(50% + 600px) -30px; background-size: auto; font-size: 16px; font-size: 1.6rem;
  }
}

.-second .l-wrapper { background-position: right -220px top -5%;
}

.top .l-wrapper { background: none;
}

.l-inner { max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0;
}

.l-inner + .l-block, .l-inner + .l-inner { margin: 8% auto;
}

@media screen and (min-width: 821px) { .l-inner { padding-left: 40px; padding-right: 40px;
  }

  .l-inner + .l-block { margin: 80px auto;
  }

  .l-inner + .l-inner { margin: 40px auto;
  }
}

.l-block { padding: 0 3vw;
}

.l-block + .l-block, .l-block + .c-form { margin-top: 3em;
}

.l-block + .hr { margin: 3em 0;
}

@media screen and (min-width: 1025px) { .l-block { padding: 0 30px;
  }
}

.l-block.-bgimg { background: url(/assets/images/bg_pattern.jpg) #FBFBF9 no-repeat; background-size: 100% auto; padding: 8% 5%;
}

@media screen and (min-width: 821px) { .l-block.-bgimg { padding: 40px 30px;
  }
}

.l-block.-bgBeige { background: #FBFBF9; width: 96%; margin-left: auto; margin-right: auto; padding: 8% 3%; border-radius: 10px;
}

@media screen and (min-width: 821px) { .l-block.-bgBeige { width: 100%; padding: 30px;
  }
}

.l-block.-bgWhite { background: #fff; padding: 3%; border-radius: 10px;
}

@media screen and (min-width: 821px) { .l-block.-bgWhite { padding: 30px;
  }
}

.l-block > br { line-height: 0;
}

.l-modal__bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); opacity: 0; z-index: -1; transition: .4s;
}

.-act .l-modal__bg { opacity: 1; z-index: 100;
}

.l-modal__inner { display: none; position: fixed; width: 90%; max-height: 70vh; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); padding: 5% 0; background: #fff; top: 50%; z-index: 101; left: 50%; transform: translate(-50%, -50%); z-index: -1; opacity: 0; pointer-events: none; max-width: 1000px;
}

.-act .l-modal__inner { opacity: 1; z-index: 100; pointer-events: all;
}

@media screen and (min-width: 821px) { .l-modal__inner { padding: 30px 0;
  }
}

.l-modal__scroll { max-height: calc(70vh - 10vh); overflow-y: scroll; padding-left: 0; padding-right: 5%;
}

@media screen and (min-width: 821px) { .l-modal__scroll { max-height: calc(70vh - 60px); padding-right: 15px; padding-left: 0;
  }
}

.l-modal__close { width: 40px; height: 40px; border-radius: 100px; background: #004831; display: flex; justify-content: center; align-items: center; color: #fff; position: absolute; top: -10px; right: -10px; cursor: pointer;
}

@media screen and (min-width: 821px) { .l-modal__close { width: 60px; height: 60px; top: -30px; right: -30px;
  }
}

.l-notice { background: -moz-linear-gradient(top, #f1efed 0%, white 100%); background: -webkit-linear-gradient(top, #f1efed 0%, white 100%); background: linear-gradient(to bottom, #f1efed 0%, white 100%); padding: 5%;
}

@media screen and (min-width: 821px) { .l-notice { padding: 40px 40px 0;
  }
}

.l-notice__inner { max-width: 1200px; margin: 0 auto; background: #fff; border: solid 2px #770a0a; padding: 2.5% 5%; position: relative;
}

@media screen and (min-width: 821px) { .l-notice__inner { padding: 15px 30px;
  }
}

.l-notice__item { border-top: solid 1px #f1f0ed; padding: 2.5% 0;
}

.l-notice__item:first-child { border: none;
}

@media screen and (min-width: 821px) { .l-notice__item { padding: 15px 0;
  }
}

.l-notice__close { width: 20px; height: 20px; border-radius: 100px; background: #770a0a; display: flex; justify-content: center; align-items: center; color: #fff; position: absolute; top: -10px; right: -10px; cursor: pointer;
}

.l-notice__close img { width: 14px;
}

@media screen and (min-width: 821px) { .l-notice__close { width: 30px; height: 30px;
  }
}

@media screen and (min-width: 821px) { .l-sidebar { display: flex; justify-content: space-between; flex-wrap: wrap;
  }
}

@media screen and (min-width: 821px) { .l-sidebar-main { width: calc(100% - 340px); order: 2;
  }

  .l-sidebar-main > .l-block { padding: 0 !important;
  }
}

@media screen and (min-width: 821px) { .l-sidebar-sub { width: 300px; order: 3;
  }
}

.l-sidebar-nav { padding: 5%;
}

@media screen and (min-width: 821px) { .l-sidebar-nav { padding: 0; width: 300px; order: 1;
  }
}

.l-tab { border-bottom: solid 1px #7F6438; padding: 0 3%;
}

@media screen and (min-width: 666px) { .l-tab { padding: 0;
  }
}

.l-tab-head { display: flex; justify-content: center;
}

.l-tab__li { text-align: center; background: #fff; position: relative; cursor: pointer; transform: translateY(1px); border: solid 1px #fff; border-bottom: solid 1px #7F6438; display: flex; align-items: center; justify-content: center;
}

.l-tab__li.-current { border: solid 1px #7F6438; border-bottom: solid 1px #fff; color: #7F6438; font-weight: bold;
}

.l-tab__li.-current:before { content: ""; display: block; width: calc(100% - 2px); height: 4px; background: #c4d700; position: absolute; top: 0; left: 50%; transform: translate(-50%, 2px);
}

.-col2 .l-tab__li { width: 50%;
}

.l-tab__a { padding: 1.5em 3% 2%; line-height: 1.4;
}

@media screen and (min-width: 821px) { .l-tab__a { padding: 40px 20px;
  }
}

.l-tab__a .c-text__l { font-size: 13px; font-size: 1.3rem;
}

@media screen and (min-width: 821px) { .l-tab__a .c-text__l { font-size: 20px; font-size: 2rem;
  }
}

.l-tab__icon { display: none; position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%) scale(0.6);
}

.-current .l-tab__icon { display: block;
}

@media screen and (min-width: 821px) { .l-tab__icon { transform: translate(-50%, -50%) scale(1);
  }
}

.l-tab-body { display: none; opacity: 0; padding: 0 3%; transition: .4s;
}

.l-tab-body.-current { display: block; opacity: 1;
}

@media screen and (min-width: 821px) { .l-tab-body { padding: 0;
  }
}

.l-title { position: relative; padding: 3% 3% 40px 3%;
}

@media screen and (min-width: 1025px) { .l-title { padding: 40px 2vw;
  }
}

.l-title__mv { pointer-events: none; object-fit: cover; object-position: right top;
}

@media screen and (min-width: 821px) { .l-title__mv { height: auto; max-height: 520px;
  }
}

.l-title__inner { max-width: 1200px; margin: 0 auto; border-bottom: double 3px #e8e3da; padding: 5%; position: relative;
}

@media screen and (min-width: 821px) { .l-title__inner { padding: 0 0 30px;
  }
}

@media screen and (min-width: 820px) { .l-title__inner { padding: 30px 20px 30px;
  }
}

@media screen and (min-width: 1025px) { .l-title__inner { padding: 0 0 30px;
  }
}

.-mv .l-title__inner { color: #fff; background: #7F6333; padding: 3%; border-bottom: none;
}

@media screen and (min-width: 821px) { .-mv .l-title__inner { width: 90%; max-width: 1200px; padding: 0; background: transparent; position: absolute; top: 30%; left: 50%; transform: translateX(-50%);
  }
}

.l-title__head { font-size: 32px; font-size: 3.2rem; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em;
}

@media screen and (min-width: 821px) { .l-title__head { font-size: 52px; font-size: 5.2rem;
  }
}

.l-title__copy { display: inline-block;
}

@media screen and (min-width: 1025px) { .l-title__copy { width: 60%;
  }
}

/*========================== components ==========================*/

.c-anchor { padding: 1px; position: relative; background: #fff;
}

.c-anchor.-cover { margin-top: -5vw;
}

.c-anchor__wrap { border-left: solid 4px #c4d700;
}

@media screen and (min-width: 821px) { .c-anchor__wrap { border-left: none; border-top: solid 4px #c4d700; display: flex; justify-content: center;
  }
}

.c-anchor__li { border-bottom: solid 1px #e8e3da;
}

.c-anchor__li:last-child { border: none;
}

@media screen and (min-width: 821px) { .c-anchor__li { text-align: center; width: 100%; padding: 20px 0; position: relative; border-bottom: none;
  }

  .c-anchor__li:after { content: ""; display: block; width: 1px; height: calc(100% - 40px); position: absolute; top: 50%; right: 0; transform: translateY(-50%); background: #e8e3da;
  }

  .c-anchor__li:last-child:after { display: none;
  }
}

.c-anchor__a { display: block; padding: 20px; text-align: center; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em;
}

.c-beigeBox { padding: 5%; position: relative; margin-top: 2em;
}

.c-beigeBox:before { content: ""; display: block; width: 100%; height: 100px; background: -moz-linear-gradient(top, #faf9f8 0%, #faf9f8 100%); background: -webkit-linear-gradient(top, #faf9f8 0%, #faf9f8 100%); background: linear-gradient(to bottom, #faf9f8 0%, #faf9f8 100%); position: absolute; top: 0; left: 0; z-index: 0;
}

.c-beigeBox p { position: relative; z-index: 1;
}

.c-beigeBox:first-child { margin-top: 0;
}

.-col3 .c-beigeBox { margin-top: 0;
}

.-col3 .c-beigeBox:before { height: 50px;
}

@media screen and (min-width: 1025px) { .sidebar-main .c-beigeBox { padding: 15px;
  }
}

@media screen and (min-width: 821px) { .c-beigeBox { padding: 1.5vw; margin-top: 40px;
  }

  .c-beigeBox:nth-child(-n + 2) { margin-top: 0;
  }
}

@media screen and (min-width: 1025px) { .c-beigeBox { padding: 30px;
  }
}

.c-lineBox { background: #fff; padding: 5%; border-top: solid 4px #c4d700; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); margin-top: 2em; position: relative;
}

.c-lineBox:first-child { margin-top: 0;
}

@media screen and (min-width: 821px) { .c-lineBox { padding: 30px; margin-top: 0;
  }

  .c-lineBox + .c-lineBox { margin-top: 20px;
  }

  .-col2 .c-lineBox + .c-lineBox, .-col3 .c-lineBox + .c-lineBox, .-col4 .c-lineBox + .c-lineBox { margin-top: 0;
  }
}

.c-lineBox__col2 .img { margin-bottom: 10px;
}

.c-lineBox__col2 .fig { margin-top: 10px; text-align: center;
}

@media screen and (min-width: 821px) { .c-lineBox__col2 { display: flex; flex-wrap: wrap; justify-content: space-between;
  }

  .c-lineBox__col2 .img { width: 220px;
  }

  .c-lineBox__col2 .fig { width: 30%;
  }

  .c-lineBox__col2 .txt { width: calc(100% - 240px);
  }

  .c-lineBox__col2 .figtxt { width: calc(100% - (30% + 20px));
  }

  .c-lineBox__col2 .label { width: 220px; display: flex; justify-content: center; align-items: center;
  }

  .-col2 .c-lineBox__col2 .img { width: 45%;
  }

  .-col2 .c-lineBox__col2 .txt { width: 50%;
  }
}

.c-lineBox__btn { border-top: solid 1px #7F6438; padding-top: 1em;
}

.c-commentBox.c-commentBox { margin-top: 40px;
}

.c-commentBox .img { text-align: center; margin-bottom: 3%;
}

.c-commentBox .txt { border: solid 1px #7F6438; padding: 3%; position: relative; background: #fff;
}

.c-commentBox .txt:before { content: ""; display: block; background: #fff; width: 16px; height: 16px; border: solid 1px #7F6438; border-width: 1px 0 0 1px; position: absolute; left: 50%; transform: rotate(45deg); top: -9px; margin-left: -8px;
}

@media screen and (min-width: 666px) { .c-commentBox { display: flex; flex-wrap: wrap; justify-content: space-between;
  }

  .c-commentBox .img { width: 100px; margin-bottom: 0;
  }

  .c-commentBox .txt { width: calc(100% - 120px); border: solid 1px #7F6438; padding: 20px; position: relative;
  }

  .c-commentBox .txt:before { left: -9px; transform: rotate(-45deg); top: 32px; margin-left: 0;
  }
}

.c-tableBox__img { text-align: center; margin-bottom: 10px;
}

.c-tableBox__txt { text-align: center;
}

.c-tableBox.-sp { display: table; flex-wrap: wrap; width: 100%;
}

.c-tableBox.-sp > div { display: table-cell; vertical-align: middle;
}

.c-tableBox.-sp .c-tableBox__img { width: 100px; vertical-align: middle;
}

@media screen and (min-width: 821px) { .c-tableBox { display: table; flex-wrap: wrap; width: 100%;
  }

  .c-tableBox > div { display: table-cell; vertical-align: middle;
  }

  .c-tableBox__img { width: 100px; margin-bottom: 0;
  }

  .c-tableBox__txt { padding-left: 10px; text-align: left; vertical-align: middle;
  }
}

.c-borderBox { border: solid 2px #7F6438;
}

.c-borderBox.-red { border-color: #770a0a;
}

.c-dotBox { border: dotted 2px #770a0a; border-radius: 10px; padding: 5%;
}

@media screen and (min-width: 666px) { .c-dotBox { padding: 30px;
  }
}

.c-errorBox { border: solid 2px red; color: red; text-align: center; padding: 5%;
}

@media screen and (min-width: 666px) { .c-errorBox { padding: 30px;
  }
}

.c-btn { position: relative; display: inline-block; text-align: center; border-radius: 0.4em; padding: 0.6em 2.2em; text-decoration: none; background: #004831; background: -moz-linear-gradient(-45deg, #a3c947 0%, #004831 100%); background: -webkit-linear-gradient(-45deg, #a3c947 0%, #004831 100%); background: linear-gradient(135deg, #a3c947 0%, #004831 100%); color: #fff; font-weight: bold; box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2), 0 -14px 5px rgba(0, 0, 0, 0.1) inset; width: 100%;
}

.c-btn i { position: absolute; top: 50%; transform: translateY(-50%); line-height: 0;
}

.c-btn i img { height: 0.95em; max-height: 23px;
}

.c-btn i img.-auto { height: auto; max-height: none;
}

.c-btn.-after { padding-right: 2.2em;
}

.c-btn.-after i { right: 10px;
}

.c-btn.-before { padding-left: 3em;
}

.c-btn.-before i { left: 10px;
}

@media screen and (min-width: 1025px) { .c-btn { width: auto; min-width: 300px;
  }
}

.c-btn.-secondary { background: #fff; color: #004831;
}

.c-btn.-secondary:after { content: ""; display: block; border: solid 2px #004831; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 0.4em;
}

.c-btn.-red { background: #fff; color: #770a0a;
}

.c-btn.-red:after { content: ""; display: block; border: solid 2px #770a0a; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 0.4em;
}

.c-btn.-hd { min-width: 122px; padding: 0.35em 1em 0.35em 2.2em;
}

.c-btn.-hd i img { max-height: none; height: auto;
}

.c-btn.-conv { display: block;
}

.c-btn.-conv i img { max-height: none; height: auto;
}

@media screen and (min-width: 1025px) { .c-btn.-conv { max-width: 72%; margin-left: auto; margin-right: auto;
  }
}

.c-btn.-compress { width: 100%; padding-left: 1.5em; padding-bottom: 1.5em; white-space: nowrap;
}

.c-btn.-compress i { right: 50%; transform: translateX(50%); top: 60%;
}

@media screen and (min-width: 821px) { .c-btn.-compress { width: auto; padding-left: 2.2em; padding-bottom: 0.6em;
  }

  .c-btn.-compress i { top: 50%; right: 10px; transform: translateY(-50%);
  }
}

.c-btn.-min { padding: 0.6em 0.5em; vertical-align: 1px;
}

.c-btn.-minimum { padding: 4px 10px; font-size: 10px; font-size: 1rem;
}

.c-btn.-minimum i { position: static; display: block; transform: none; padding: 4px 0;
}

.c-btn.-minimum i img { height: 16px;
}

.c-btn.-col2 { width: 100%;
}

@media screen and (min-width: 1025px) { .c-btn.-col2 { min-width: 0; width: calc(50% - 40px);
  }
}

.c-btn.-disabled { pointer-events: none; opacity: 0.5;
}

.c-backbtn { position: relative; margin-top: 2em;
}

.c-backbtn i { right: auto; left: 10px;
}

.c-backbtn i img { transform: scale(-1, 1);
}

@media screen and (min-width: 1025px) { .c-backbtn { position: absolute; left: 0; top: 50%; transform: translateY(-50%); min-width: 0; width: auto; margin: 0;
  }
}

.c-anchorbtn { padding: 1.0rem; text-decoration: none; display: inline-block; width: 100%; position: relative; font-size: 12px; font-size: 1.2rem;
}

@media screen and (min-width: 821px) { .c-anchorbtn { padding: 2.0rem; font-size: 14px; font-size: 1.4rem;
  }
}

.c-anchorbtn i { position: absolute; right: 0; bottom: 50%; transform: translateY(50%);
}

@media screen and (min-width: 821px) { .c-anchorbtn i { bottom: 0; right: auto; left: 50%; transform: translateX(-50%);
  }
}

.c-anchorbtn i img { height: 1em;
}

.c-faq { padding: 3%;
}

.c-faq + .c-faq { border-top: solid 1px #e8e3da;
}

.c-faq.-act { background: #fbfbf9;
}

.c-faq__dt { font-size: 18px; font-size: 1.8rem; font-weight: bold; color: #004831; position: relative; padding: 10px 30px 10px 60px; cursor: pointer; transition: .4s;
}

.c-faq__dt:before { content: ""; display: block; width: 47px; height: 47px; background: url(/assets/images/icon_q.png) no-repeat; position: absolute; top: 50%; left: 0; transform: translateY(-50%);
}

.c-faq__dt:after { content: ""; display: block; width: 14px; height: 14px; background: url(/assets/images/icon_open.png) no-repeat; background-size: 14px; position: absolute; top: 50%; right: 0; transform: translateY(-50%);
}

.-act .c-faq__dt:after { background-image: url(/assets/images/icon_close.png);
}

@media (min-width: 666px) { .c-faq__dt:after { width: 20px; height: 20px; background-size: 20px;
  }
}

.c-faq__dd { position: relative; padding: 25px 0 25px 60px; display: none; margin-top: 5px;
}

.-act .c-faq__dd { display: block;
}

.c-faq__dd:before { content: ""; display: block; width: 47px; height: 47px; background: url(/assets/images/icon_a.png) no-repeat; position: absolute; top: 15px; left: 0;
}

.c-flow { display: flex; justify-content: space-between;
}

.c-flow__li { display: inline-block; text-align: center; width: 100%; color: #aaa;
}

.c-flow__li:first-child .c-flow__num:before { display: none;
}

.c-flow__li.-done .c-flow__num:before { background: #c4d700;
}

.c-flow__li.-done .c-flow__num__strong { border-color: #c4d700; background: #c4d700; color: #fff;
}

.c-flow__num { position: relative; text-align: center;
}

.c-flow__num:before { content: ""; display: block; width: 100%; background: #aaa; height: 4px; position: absolute; top: 1.5em; left: -50%;
}

.c-flow__num__strong { display: inline-flex; justify-content: center; align-items: center; width: 3em; height: 3em; border-radius: 1000px; background: #fff; border: solid 4px #aaa; position: relative; z-index: 1;
}

.c-flow__label { color: #000; font-size: 12px; font-size: 1.2rem;
}

@media screen and (min-width: 821px) { .c-flow__label { font-size: 14px; font-size: 1.4rem;
  }
}

.c-form { margin: 0;
}

.c-form__text { border: solid 1px #aaa; border-radius: 4px; padding: 4px 8px;
}

.c-form__text:disabled { background: #eee; color: #aaa;
}

.c-form__checkbox { width: 18px; height: 18px; vertical-align: text-bottom; margin-right: 0.4em; display: inline-block;
}

.c-form__checkbox:disabled { background: #ddd;
}

.c-form__radio { width: 18px; height: 18px; vertical-align: text-bottom; margin-right: 0.4em; display: inline-block;
}

.c-form__textarea { border: solid 1px #aaa; border-radius: 4px; padding: 4px 8px; resize: none;
}

.c-form__inline { height: 400px; overflow-y: auto; background-color: #fff; padding: 2%; border: solid 1px #e8e3da;
}

.c-form__select { border: solid 1px #aaa; border-radius: 4px; padding: 7px 16px 7px 8px; background: url(/assets/images/icon_select.png) no-repeat right 4px top 50%;
}

.c-form__select:disabled { background: #eee; color: #aaa;
}

.c-form__indent { text-indent: calc((18px + 0.4em) * -1); padding-left: calc((18px + 0.4em) * 1);
}

.c-form__upload { border: solid 2px #004831;
}

.c-form ::placeholder { color: #bbb;
}

button:disabled { opacity: 0.7;
}

.c-headline__h1 { font-size: 32px; font-size: 3.2rem; margin-bottom: 0.5em; line-height: 1.4; font-weight: 400;
}

@media screen and (min-width: 821px) { .c-headline__h1 { font-size: 40px; font-size: 4rem;
  }
}

.c-headline__h1__sub { display: inline-block;
}

.c-headline__h1__sub + .c-headline__h1 { margin-top: 0.5em;
}

@media screen and (min-width: 1025px) { .c-headline__h1__sub { width: 50%;
  }
}

.c-headline__h2 { text-align: center; font-size: 28px; font-size: 2.8rem; margin-bottom: 0.2em; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em; font-weight: 400; letter-spacing: -0.005em;
}

@media screen and (min-width: 821px) { .c-headline__h2 { letter-spacing: 0;
  }
}

.c-headline__h2 small { display: block; font-size: 12px; font-size: 1.2rem; color: #7F6438;
}

.c-headline__h2 small:before, .c-headline__h2 small:after { content: url(/assets/images/bg_h2.png); display: inline-block; margin: 0 1em;
}

.c-headline__h2 small:after { transform: scale(-1);
}

.c-headline__h2 span { display: block; font-size: 14px; font-size: 1.4rem;
}

@media screen and (min-width: 821px) { .c-headline__h2 { font-size: 40px; font-size: 4rem;
  }

  .c-headline__h2 span { display: block; font-size: 26px; font-size: 2.6rem; line-height: 1;
  }
}

.c-headline__h3 { font-size: 22px; font-size: 2.2rem; line-height: 1.4; padding-left: 0.8em; border-left: solid 5px #004831; position: relative;
}

.c-headline__h3:after { content: ""; display: block; width: 5px; background: #c4d700; position: absolute; height: 50%; bottom: 0; left: -5px;
}

@media screen and (min-width: 821px) { .c-headline__h3 { font-size: 28px; font-size: 2.8rem;
  }
}

.c-headline__sectionTitle { position: relative; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em; font-size: 24px; font-size: 2.4rem; padding: 0 0 0.5em; line-height: 1.4; display: flex; justify-content: space-between; align-items: center; letter-spacing: -0.005em;
}

@media screen and (min-width: 821px) { .c-headline__sectionTitle { letter-spacing: 0;
  }
}

.c-headline__sectionTitle__title { font-style: normal;
}

.c-headline__sectionTitle__sub { display: block; line-height: 1.2;
}

.c-headline__sectionTitle:before, .c-headline__sectionTitle:after { content: ""; display: block; width: 100%; height: 4px; position: absolute; left: 0;
}

.c-headline__sectionTitle:before { background-color: #004831; bottom: 4px;
}

.c-headline__sectionTitle:after { background-color: #c4d700; bottom: 0;
}

@media screen and (min-width: 821px) { .c-headline__sectionTitle { font-size: 40px; font-size: 4rem;
  }
}

.c-headline__sectionTitle2 { background: #004831; color: #fff; font-size: 20px; font-size: 2rem; font-weight: bold; position: relative; padding: 16px 12px 16px 30px; border-radius: 10px; line-height: 1.4;
}

.c-headline__sectionTitle2:before { content: ""; display: block; width: 6px; height: calc(100% - 32px); background: #c4d700; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); border-radius: 100px;
}

@media screen and (min-width: 821px) { .c-headline__sectionTitle2 { font-size: 32px; font-size: 3.2rem;
  }
}

.c-headline__blockTitle { display: flex; align-items: center; justify-content: center; text-align: center;
}

.c-headline__blockTitle:before, .c-headline__blockTitle:after { content: ""; display: block; width: 100px; height: 1px; background: #000;
}

.c-headline__blockTitle__inner { font-style: normal; margin: 0 1em; font-size: 20px; font-size: 2rem; white-space: nowrap;
}

.c-headline__blockTitle__inner small { display: block; font-size: 12px; font-size: 1.2rem;
}

@media screen and (min-width: 821px) { .c-headline__blockTitle__inner { font-size: 28px; font-size: 2.8rem;
  }

  .c-headline__blockTitle__inner small { font-size: 16px; font-size: 1.6rem;
  }
}

.c-headline__boxTitle { font-size: 22px; font-size: 2.2rem; line-height: 1.4;
}

@media screen and (min-width: 821px) { .c-headline__boxTitle { font-size: 26px; font-size: 2.6rem;
  }
}

.c-headline__subTitle { font-weight: bold; font-size: 18px; font-size: 1.8rem; line-height: 1.4;
}

@media screen and (min-width: 821px) { .c-headline__subTitle { font-size: 22px; font-size: 2.2rem;
  }
}

.c-label__nes:after { content: "必須"; background-color: #770a0a; color: #fff; padding: 1px 6px; margin-left: 0.5em; font-size: 11px; font-size: 1.1rem; font-weight: bold; vertical-align: middle; display: inline-block; transform: translateY(-2px);
}

.c-headline__h3 .c-label__nes:after { margin-left: 1em;
}

.c-label__option:after { content: "オプション"; background-color: #004831; color: #fff; padding: 1px 6px; margin-left: 0.5em; font-size: 11px; font-size: 1.1rem; font-weight: bold; vertical-align: middle; display: inline-block; transform: translateY(-2px);
}

.c-headline__h3 .c-label__option:after { margin-left: 1em;
}

.c-label__new { background-color: #770a0a; color: #fff; padding: 0 12px; font-size: 80%; display: inline-block; vertical-align: 2px; margin-left: 0.5em;
}

.c-label__step { background-color: #7F6438; color: #fff; padding: 0.2em 2em; position: absolute; left: -10px; top: -1.5em; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em;
}

.c-label__step:after { content: ""; display: block; width: 0; height: 0; border: solid 5px transparent; border-top: solid 5px #2C1D09; border-right: solid 5px #2C1D09; position: absolute; left: 0; bottom: -10px;
}

@media screen and (min-width: 821px) { .c-label__step { top: -1em;
  }
}

.c-label__abs { background-color: #7F6438; color: #fff; position: absolute; left: -10px; top: -1.5em; text-align: left; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em; font-size: 14px; font-size: 1.4rem;
}

@media screen and (min-width: 821px) { .c-label__abs { top: -1em;
  }
}

.c-label__abs__li { background: #000; color: #fff; position: relative; padding: 0.2em 1em; display: inline-block;
}

.c-label__abs__li:first-child:after { content: ""; display: block; width: 0; height: 0; border: solid 5px transparent; border-top: solid 5px #2C1D09; border-right: solid 5px #2C1D09; position: absolute; left: 0; bottom: -10px;
}

.c-label__sectionTitle { display: block; font-size: 10px; font-size: 1rem; font-weight: bold; padding: 0.25em 0.5em; font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", _serif; text-align: center; min-width: 110px; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em;
}

.c-label__sectionTitle.-free { border: solid 1px #004831; background: #004831; color: #fff;
}

.c-label__sectionTitle.-paid { border: solid 1px #770a0a; background-color: #770a0a; color: #fff;
}

.c-label__sectionTitle.-way { border: solid 1px #7F6438; background: #7F6438; color: #fff;
}

@media screen and (min-width: 821px) { .c-label__sectionTitle { font-size: 14px; font-size: 1.4rem; display: inline-block;
  }
}

.c-label__border { border: solid 1px #7F6438; color: #7F6438; display: block; text-align: center; width: 100%;
}

.c-label__point { text-align: center; margin-top: -40px;
}

@media screen and (min-width: 821px) { .c-label__point { margin-top: -70px;
  }
}

.c-label__status { border: solid 1px #000; color: #000; font-size: 12px; font-size: 1.2rem; padding: 0.15em 0.5em; width: 100%; display: inline-block; font-weight: bold;
}

.c-label__status.-cancel { border-color: #770a0a; background-color: #770a0a; color: #fff;
}

.c-label__status.-available { border-color: #004831; color: #004831;
}

.c-label__status.-free { border: none; background: #004831; color: #fff; max-width: 86px; text-align: center;
}

.c-label__status.-add { border: none; background: #770a0a; color: #fff; max-width: 86px; text-align: center;
}

.c-list { font-feature-settings: normal;
}

.c-list__li { text-indent: -1.0em; padding-left: 1.0em; margin: 0.25em 0; line-height: 1.6;
}

.c-list.-nav .c-list__li { padding-top: 0.8em; padding-bottom: 0.8em; border-bottom: dotted 1px #e8e3da; font-weight: bold;
}

.c-list.-nav .c-list__li:last-child { border: none;
}

.c-newsList__dt { padding: 12px 12px 0 12px; font-weight: bold;
}

@media screen and (min-width: 821px) { .c-newsList__dt { position: absolute; width: 212px; padding: 12px; letter-spacing: 0.05em;
  }

  .c-newsList__dt .c-label__new { position: absolute; right: 0; top: 50%; transform: translateY(-50%); letter-spacing: 0;
  }
}

.c-newsList__dd { border-bottom: solid 1px #7F6438; padding: 12px;
}

.c-newsList__dd:last-of-type { border-bottom: none;
}

@media screen and (min-width: 821px) { .c-newsList__dd { padding: 12px 12px 12px 230px;
  }
}

@media screen and (min-width: 821px) { _::-webkit-full-page-media, _:future, :root .c-newsList__dt { letter-spacing: 0;
  }
}

.c-step { position: relative;
}

.c-step:after { content: ""; position: absolute; display: block;
}

.c-step:last-of-type:after { display: none;
}

.c-step__bottom:after { content: url(/assets/images/fig_flow.png); width: 100%; left: 0; bottom: -80px; padding: 1em; text-align: center; line-height: 0;
}

.c-step__bottom:after:last-of-type { display: none;
}

.c-step__bottom + .c-step { margin-top: 80px;
}

.c-step__right:after { content: url(/assets/images/fig_flow.png); width: 100%; left: 0; bottom: -80px; padding: 1em; text-align: center; transform: scale(0.6); transform-origin: top; line-height: 0;
}

@media screen and (min-width: 1025px) { .c-step__right:after { content: ""; width: 62px; height: 20px; padding: 0; left: auto; bottom: auto; right: -46px; top: 50%; transform: translateY(-50%) rotate(-90deg) scale(1); transform-origin: center; background: url(/assets/images/fig_flow.png) no-repeat; background-size: cover;
  }
}

.c-step__right + .c-step { margin-top: 48px;
}

@media screen and (min-width: 1025px) { .c-step__right + .c-step { margin-top: 0;
  }
}

.c-step.-done { opacity: 0.7; pointer-events: none;
}

.c-step.-done:before { content: url(/assets/images/fig_done.png); position: absolute; top: 50%; left: 50%; transform: scale(0.6) translateX(-50%) translateY(-50%); transform-origin: left top; z-index: 1;
}

@media screen and (min-width: 821px) { .c-step.-done:before { transform: scale(1) translateX(-50%) translateY(-50%);
  }
}

.c-table { border-collapse: collapse; border-top: solid 1px #e8e3da; width: 100%; text-align: left; table-layout: auto;
}

.c-table.-simple { border: none;
}

.c-table.-simple .c-table__th, .c-table.-simple .c-table__td { border: none; background: transparent !important;
}

.c-table__th, .c-table__td { border-bottom: solid 1px #e8e3da; padding: 12px; display: block; width: 100%;
}

@media screen and (min-width: 666px) { .c-table__th, .c-table__td { display: table-cell; width: inherit;
  }
}

.c-table__th p + p, .c-table__td p + p { margin-top: 8px;
}

.c-table__th { border-bottom: none; vertical-align: top; padding: 12px 12px 0;
}

@media screen and (min-width: 666px) { .c-table__th { width: 29%; white-space: nowrap; border-bottom: solid 1px #e8e3da; padding: 12px;
  }
}

.c-table__td { padding-left: calc(1em + 12px);
}

@media screen and (min-width: 666px) { .c-table__td { padding-left: 12px;
  }
}

.c-table__tdH { border-bottom: solid 1px #e8e3da; padding: 40px 12px;
}

.c-table__tdH p + p { margin-top: 8px;
}

.c-table tr:nth-child(even) .c-table__th, .c-table tr:nth-child(even) .c-table__td, .c-table tr:nth-child(even) .c-table__tdH { background: #fbfbf9;
}

.c-table2 { border-collapse: collapse; width: 100%; text-align: center; table-layout: auto; font-size: 80%;
}

@media screen and (min-width: 1025px) { .c-table2 { font-size: 100%;
  }
}

.c-table2.-fixed { table-layout: fixed;
}

.c-table2__th, .c-table2__td { border-bottom: solid 2px #7F6438; padding: 12px;
}

.c-table2__th { vertical-align: top;
}

@media screen and (min-width: 666px) { .c-table2__th { border-bottom: solid 2px #7F6438;
  }
}

.c-table2__th.-cat1 { border-top: solid 5px #004831; padding: 20px 0;
}

.c-table2__th.-cat2 { border-top: solid 5px #c4d700; padding: 20px 0;
}

.c-table2__th.-rl { padding: 12px 0; width: 2em; vertical-align: middle;
}

@media screen and (min-width: 821px) { .c-table2__th.-rl { padding: 12px; width: auto; vertical-align: top;
  }
}

@media screen and (min-width: 1025px) { .c-table2__td.-cat { min-width: 180px;
  }
}

.c-table2__td.-dot { border-style: dotted; border-width: 0 0 1px 0;
}

.c-table2.-sp { -ms-writing-mode: tb-lr; writing-mode: vertical-lr;
}

.c-table2.-sp p { -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; white-space: nowrap; height: 40px;
}

.c-table2.-sp p span { -webkit-text-combine: horizontal;
}

@media screen and (min-width: 821px) { .c-table2.-sp { writing-mode: horizontal-tb;
  }
}

.c-table3 { border-collapse: collapse; width: 100%; text-align: center; table-layout: auto; font-size: 80%;
}

@media screen and (min-width: 666px) { .c-table3 { font-size: 100%;
  }
}

.c-table3__th, .c-table3__td { border-bottom: solid 1px #7F6438; padding: 12px; text-align: left;
}

.c-table3__th { vertical-align: top;
}

@media screen and (min-width: 666px) { .c-table3__th { border-bottom: solid 1px #7F6438;
  }
}

.c-table3__td.-dot { border-style: dotted; border-width: 0 0 1px 0;
}

.c-table4 { border-collapse: collapse; width: calc(100% - 1px); text-align: center; table-layout: auto; border-top: solid 1px #7F6438; border-left: solid 1px #fff; position: relative;
}

.c-table4:after { content: ""; display: block; width: 2px; height: 100%; background: #fff; position: absolute; top: 0; right: -1px;
}

.c-table4__th, .c-table4__td { border-bottom: solid 1px #7F6438; border-right: solid 1px #7F6438; padding: 8px 12px;
}

.c-table4__th { vertical-align: top; background-color: #FCFAEF; white-space: nowrap;
}

@media screen and (min-width: 666px) { .c-table4__th { border-bottom: solid 1px #7F6438;
  }
}

.c-table4__td.-dot { border-style: dotted; border-width: 0 0 1px 0;
}

.c-table4 .-min { width: 10px;
}

.c-table5 { border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; border-radius: 10px; border-top: solid 1px #888; border-left: solid 1px #888; writing-mode: vertical-lr; font-size: 12px; font-size: 1.2rem;
}

.c-table5__p { writing-mode: horizontal-tb; white-space: nowrap;
}

.c-table5__p.-wfull { display: block; white-space: normal; min-height: 10px;
}

.c-table5 .c-btn { white-space: nowrap;
}

@media screen and (min-width: 821px) { .c-table5 { writing-mode: horizontal-tb; font-size: 16px; font-size: 1.6rem;
  }
}

.c-table5__th, .c-table5__td { border-bottom: solid 1px #888; border-right: solid 1px #888; padding: 10px; writing-mode: vertical-lr;
}

@media screen and (min-width: 821px) { .c-table5__th, .c-table5__td { writing-mode: horizontal-tb;
  }
}

.c-table5__th { background: #004831; color: #fff; font-weight: bold; padding: 16px 0; width: 10%;
}

@media screen and (min-width: 821px) { .c-table5__th { width: auto; padding: 16px;
  }
}

.c-table5__td { width: 70%; writing-mode: horizontal-tb;
}

.c-table5__td .c-table5__p { min-height: 3em;
}

.c-table5__td.sp-inline { text-align: center;
}

.c-table5__td.sp-inline > p { display: inline-block; transform: translateY(-8px);
}

.c-table5__td:last-of-type { border-radius: 0 0 10px 0;
}

@media screen and (min-width: 821px) { .c-table5__td { width: auto;
  }

  .c-table5__td:nth-last-child(5) { border-radius: 0 0 0 10px;
  }

  .c-table5__td:last-of-type { border-radius: 0 0 10px 0;
  }

  .c-table5__td.sp-inline > p { display: block;
  }

  .c-table5__td .c-table5__p { min-height: 0;
  }
}

@media screen and (min-width: 821px) { .c-table5 .-min { width: 10px;
  }
}

@media screen and (min-width: 821px) { .c-table5 .-title { width: 100%;
  }
}

.c-table6 { border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; border-radius: 10px; border-top: solid 1px #888; border-left: solid 1px #888; font-size: 12px; font-size: 1.2rem;
}

.c-table6 .c-btn { white-space: nowrap;
}

@media screen and (min-width: 821px) { .c-table6 { font-size: 16px; font-size: 1.6rem;
  }
}

.c-table6__th, .c-table6__td { border-bottom: solid 1px #888; border-right: solid 1px #888; padding: 10px;
}

.c-table6__th { background: #004831; color: #fff; font-weight: bold; padding: 16px;
}

.c-table6__th.-bottom { border-radius: 0 0 10px 10px;
}

.c-total { background: #7F6438; color: #fff; padding: 3%; text-align: right; border-radius: 10px;
}

@media screen and (min-width: 1025px) { .c-total { padding: 15px 30px;
  }
}

.c-lede { position: relative; padding: 5% 0; background: #fff; text-align: center; font-size: 21px; font-size: 2.1rem; font-family: 'Noto Serif JP', sans-serif; font-weight: 400; letter-spacing: 0.008em; line-height: 1.4;
}

@media screen and (min-width: 1025px) { .c-lede { padding: 30px; font-size: 28px; font-size: 2.8rem;
  }

  .c-lede.-cover { margin-top: -5vw;
  }
}

.c-announce { text-align: center; font-size: 16px; font-size: 1.6rem; font-weight: normal; border: solid 2px #770a0a; padding: 1em;
}

.c-announce__head { font-size: 22px; font-size: 2.2rem; font-weight: bold; margin-bottom: 0.5em; color: #770a0a;
}

.c-text__xxl { font-size: 20px; font-size: 2rem; line-height: 1.6;
}

@media screen and (min-width: 1025px) { .c-text__xxl { font-size: 32px; font-size: 3.2rem;
  }
}

.c-text__xl { font-size: 20px; font-size: 2rem; line-height: 1.6;
}

@media screen and (min-width: 1025px) { .c-text__xl { font-size: 26px; font-size: 2.6rem;
  }
}

.c-text__l { font-size: 18px; font-size: 1.8rem; line-height: 1.4;
}

@media screen and (min-width: 1025px) { .c-text__l { font-size: 20px; font-size: 2rem;
  }
}

.c-text__m { font-size: 18px; font-size: 1.8rem;
}

.c-text__base { font-size: 14px; font-size: 1.4rem;
}

@media screen and (min-width: 1025px) { .c-text__base { font-size: 16px; font-size: 1.6rem;
  }
}

.c-text__s { font-size: 13px; font-size: 1.3rem; line-height: 1.4;
}

@media screen and (min-width: 1025px) { .c-text__s { font-size: 14px; font-size: 1.4rem;
  }
}

.c-text__xs { font-size: 12px; font-size: 1.2rem; line-height: 1.4;
}

.c-text__xxs { font-size: 10px; font-size: 1rem; line-height: 1.2; font-weight: normal; letter-spacing: -0.0005em;
}

.c-text__center { text-align: center;
}

.c-text__left { text-align: left;
}

.c-text__right { text-align: right;
}

.c-text__normal { font-weight: normal;
}

.c-text__bold { font-weight: bold;
}

.c-text__notice { font-size: 12px; font-size: 1.2rem; color: #555;
}

.c-text__notice__li { text-indent: -1.8em; padding-left: 1.8em;
}

.c-text__underline { text-decoration: underline;
}

.c-textlink:after { content: ""; width: 1em; height: 1em; background: url(/assets/images/icon_arrow.png) no-repeat; background-size: contain; margin: 0 0 0 0.3em; vertical-align: middle; transform: translateY(-1px); display: inline-block; height: 1em;
}

.c-textlink[target="_blank"]:after { background: url(/assets/images/icon_blank.png) no-repeat; background-size: contain;
}

.c-textlink.-map:after { background: url(/assets/images/icon_map.png) no-repeat !important; background-size: contain;
}

.c-textlink.-modal:after { background: url(/assets/images/icon_modal.png) no-repeat !important; background-size: contain;
}

.c-textlink.-undo:after { display: none;
}

.c-textlink.-undo:before { content: ""; width: 1em; height: 1em; background: url(/assets/images/icon_undo.png) no-repeat; background-size: contain; margin: 0 0.3em 0 0; vertical-align: middle; transform: translateY(-1px); display: inline-block; height: 1em;
}

.c-textlink.-edit:after { background-image: url(/assets/images/icon_edit.png) !important;
}

.c-textlink.-pdf:after { background: url(/assets/images/icon_pdf.png) no-repeat; background-size: contain;
}

/*========================== page ==========================*/

@media screen and (min-width: 1025px) { .p-about .c-lede { padding: 50px;
  }
}

@media screen and (min-width: 1025px) { .p-about__message { padding: 0 20px 20px;
  }
}

@media screen and (min-width: 821px) { .p-about__message > div.txt { width: 68%; padding-right: 60px; position: relative;
  }

  .p-about__message > div.txt .name { position: absolute; bottom: 0; left: 0;
  }

  .p-about__message > div.img { width: 32%; order: 2;
  }

  .p-about__message > div.img img { width: 100%;
  }
}

.p-cart .c-table4 { writing-mode: horizontal-tb;
}

.p-cart__title { writing-mode: horizontal-tb;
}

.p-casestudy__prof { width: 160px;
}

@media screen and (min-width: 821px) { .p-casestudy__prof { text-align: left; width: 190px;
  }
}

.p-casestudy__name { line-height: 1.4; padding-left: 20px;
}

.p-casestudy__lede { display: block; font-weight: bold; font-style: normal; margin-bottom: 40px;
}

.p-casestudy__logo { display: flex; justify-content: center; align-items: center; min-height: 80px; margin-bottom: 0.5em; border-top: double 4px #e8e3da; margin-top: 8%;
}

@media screen and (min-width: 821px) { .p-casestudy__logo { border-top: none; margin-top: 0;
  }
}

.p-casestudy__data { padding-bottom: 20px; border-bottom: double 4px #e8e3da;
}

.p-casestudy__member { border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); width: 90%; margin: 0 auto;
}

@media screen and (min-width: 821px) { .p-casestudy__member { width: 100%;
  }
}

.p-casestudy__member__head { padding: 8% 5% 5%; position: relative; background: #fbfbf9; border-radius: 10px 10px 0 0;
}

.p-casestudy__member__head .icon { position: absolute; top: -20px; left: 50%; transform: translateX(-50%);
}

@media screen and (min-width: 821px) { .p-casestudy__member__head { padding: 50px 30px 30px; text-align: center;
  }
}

.p-casestudy__member__inner { padding: 5%;
}

@media screen and (min-width: 821px) { .p-casestudy__member__inner { padding: 30px;
  }
}

.p-company__message { position: relative;
}

.p-company__message > div.txt { line-height: 2.0;
}

.p-company__message > div.txt .name { margin-top: 5%; text-align: right;
}

@media screen and (min-width: 821px) { .p-company__message > div.txt { width: 68%; padding-right: 60px;
  }

  .p-company__message > div.txt .name { position: absolute; bottom: 0; right: 0;
  }
}

.p-company__message > div.img { text-align: center;
}

.p-company__message > div.img img { width: 70%;
}

@media screen and (min-width: 821px) { .p-company__message > div.img { width: 32%; order: 2; position: relative;
  }

  .p-company__message > div.img img { width: 100%;
  }
}

.p-company__table .c-table4__th, .p-company__table .c-table4__td { display: block; width: 100%;
}

.p-company__table .c-table4__th { border-style: dotted;
}

@media screen and (min-width: 821px) { .p-company__table .c-table4__th, .p-company__table .c-table4__td { display: table-cell; width: 100%;
  }

  .p-company__table .c-table4__th { border-style: solid; width: 25%;
  }
}

.p-consulting .-aside { position: relative;
}

@media screen and (min-width: 821px) { .p-consulting .-aside { padding-bottom: 160px;
  }
}

@media screen and (min-width: 1025px) { .p-consulting .-aside { padding-bottom: 140px;
  }
}

.p-consulting__advisor { padding-top: 5%; border-bottom: double 3px #004831;
}

@media screen and (min-width: 821px) { .p-consulting__advisor { position: absolute; bottom: 0; width: calc(100% - 60px);
  }
}

.p-consulting__advisor__head { display: flex; align-items: center; justify-content: center; text-align: center;
}

.p-consulting__advisor__head:before, .p-consulting__advisor__head:after { content: ""; display: block; width: calc((100% - 40px) / 2); height: 3px; border: solid 1px #004831; border-width: 1px 0 1px 0;
}

.p-consulting__advisor__head:before { margin-right: 1em;
}

.p-consulting__advisor__head:after { margin-left: 1em;
}

.p-consulting__advisor__head__inner { font-style: normal; white-space: nowrap; margin-right: 1em; font-weight: bold; color: #004831;
}

.p-consulting__column h4 { line-height: 1.4;
}

@media screen and (min-width: 821px) { .p-consulting__column { display: flex; justify-content: space-between; flex-wrap: wrap;
  }
}

.p-consulting__column > div { margin-top: 10%; border: solid 1px #e8e3da; padding: 5%;
}

.p-consulting__column > div:first-child { margin-top: 0;
}

.p-consulting__column .img { margin-bottom: 5%;
}

@media screen and (min-width: 821px) { .p-consulting__column > div { width: calc((100% - 30px) / 2); padding: 20px; margin-top: 0;
  }

  .p-consulting__column > div:nth-child(n + 3) { margin-top: 30px;
  }

  .p-consulting__column .img { width: 36%; margin-bottom: 0;
  }

  .p-consulting__column .txt { width: 60%;
  }
}

.p-join__btn { text-align: center;
}

@media screen and (min-width: 1025px) { .p-join__btn { position: absolute; right: 40px; top: 60px;
  }
}

@media screen and (max-width: 1200px) { .p-join__step .c-headline__boxTitle { font-size: 18px; font-size: 1.8rem;
  }
}

@media screen and (max-width: 821px) { .p-join__step.-col4 { display: block;
  }

  .p-join__step.-col4 > div { width: 100%; margin-left: auto; margin-right: auto;
  }

  .p-join__step.-col4 > div .line-2 { justify-content: center; margin-bottom: 0 !important;
  }

  .p-join__step.-col4 > div:nth-child(n + 3) { margin-top: 48px;
  }
}

@media screen and (max-width: 821px) { .p-join__step__title { display: flex;
  }
}

@media screen and (max-width: 821px) { .p-join__step__fig { width: 80px;
  }
}

@media screen and (min-width: 1025px) { .p-meeting__message { padding: 0 20px 20px;
  }
}

@media screen and (min-width: 821px) { .p-meeting__message > div.txt { width: 68%; padding-right: 60px; position: relative;
  }

  .p-meeting__message > div.txt .name { position: absolute; bottom: 0; left: 0;
  }

  .p-meeting__message > div.img { width: 32%; order: 2;
  }

  .p-meeting__message > div.img img { width: 100%;
  }
}

.p-mypage .l-wrapper { background: none;
}

@media screen and (min-width: 821px) { .p-mypage .c-beigeBox { padding: 15px;
  }
}

.p-mypage .l-sidebar-nav { padding: 0;
}

.p-mypage .overflow-x > table { width: 200%;
}

@media screen and (min-width: 821px) { .p-mypage .overflow-x > table { width: 100%;
  }
}

@media screen and (min-width: 1050px) { .p-mypage .overflow-x { overflow-x: hidden;
  }
}

.p-mypage .hr { margin: 0;
}

.p-mypage__nav { box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); border-radius: 10px 10px 0 0; position: fixed; bottom: 0; left: 50%; transform: translate(-50%, 100%); z-index: 21; width: 90%; transition: .4s;
}

.p-mypage__nav .hr { margin: 1.5em 0;
}

.p-mypage__nav.-def .p-mypage__nav__icon { transform: translateX(-50%) translateY(0);
}

@media screen and (min-width: 821px) { .p-mypage__nav.-def .p-mypage__nav__icon { transform: none;
  }
}

.-act .p-mypage__nav { transform: translate(-50%, 0);
}

@media screen and (min-width: 821px) { .p-mypage__nav { position: static; transform: none; width: 100%; height: auto; border-radius: 10px;
  }
}

.p-mypage__nav__head { border-radius: 10px 10px 0 0; padding: 7%; background: #FCFAEF; position: relative; text-align: center;
}

.p-mypage__nav__icon { position: absolute; display: inline-block; left: 50%; transform: translateX(-50%) translateY(-50px); margin: -50px 0 -5px; transition: .4s; width: 56px; height: 55px; background: url(/assets/images/icon_mypage_menu.png) no-repeat;
}

.-def .p-mypage__nav__icon { background: url(/assets/images/icon_mcs.png) no-repeat;
}

.-act .p-mypage__nav__icon { transform: translateX(-50%) translateY(0); background: url(/assets/images/icon_mcs.png) no-repeat;
}

@media screen and (min-width: 821px) { .p-mypage__nav__icon { position: static; transform: none; margin: -30px 0 -5px; pointer-events: none; background: url(/assets/images/icon_mcs.png) no-repeat;
  }
}

.p-mypage__nav__kind { display: block; background: #004831; padding: 0.5em; border-radius: 6px; color: #fff;
}

.p-mypage__nav__body { padding: 7%; background: #fff; max-height: calc(100dvh - 55vh); overflow-y: auto;
}

@media screen and (min-width: 821px) { .p-mypage__nav__body { max-height: none;
  }
}

.p-mypage__nav__btn { padding: 7%; border-radius: 0; background: #FCFAEF;
}

@media screen and (min-width: 821px) { .p-mypage__nav__btn { border-radius: 0 0 10px 10px;
  }
}

.p-mypage__nav__list { padding-left: 1.5em;
}

.p-mypage__nav__list__li { margin: 0.8em 0;
}

.p-mypage__nav__menuBtn { width: 40px; height: 40px; border: solid 4px #c4d700; background: #fff;
}

.p-mypage__nav__mask { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: -1; opacity: 0; transition: .4s;
}

.-act .p-mypage__nav__mask { z-index: 20; opacity: 1;
}

.p-mypage__pager { text-align: center;
}

.p-mypage__pager__li { display: inline-block;
}

.p-mypage__pager__li:before { content: " ｜ ";
}

.p-mypage__pager__li:first-child:before { display: none;
}

.p-mypage__pager__li.-current { font-weight: bold; color: #c4d700;
}

@media screen and (min-width: 821px) { .p-research__img { width: 360px;
  }
}

@media screen and (min-width: 821px) { .p-research__txt { padding-left: 40px;
  }
}

.p-seminar__more { display: flex; justify-content: center; align-items: center; text-decoration: none;
}

.p-seminar__more:before, .p-seminar__more:after { content: ""; display: block; width: 100px; height: 1px; background: #e8e3da; margin: 0 1em;
}

.p-seminar__more img { height: 1em; margin-left: 0.5em;
}

.p-seminar__more span { white-space: nowrap;
}

.p-seminar__detail { margin-top: 0.5em; background: #fbfbf9; padding: 20px; display: none;
}

.p-service + .p-service { margin-top: 8%;
}

@media screen and (min-width: 821px) { .p-service + .p-service { margin-top: 30px;
  }
}

@media screen and (min-width: 821px) { .p-service .c-lineBox { padding-bottom: 90px;
  }
}

.p-service .c-lineBox.-video:after { content: url(/assets/images/icon_video.png); position: absolute; top: 10px; right: 10px;
}

@media screen and (min-width: 821px) { .p-service .c-lineBox.-double { width: calc(97% - ((100% - 6%) / 3));
  }
}

@media screen and (min-width: 821px) { .p-service .c-lineBox.-triple { width: 100%;
  }
}

.p-service__title { font-size: 22px; font-size: 2.2rem; line-height: 1.4;
}

.p-service__body { font-size: 14px; font-size: 1.4rem;
}

.p-service__body + .p-service__body { margin-top: 0.5em;
}

.p-service__btn { margin-top: 5%;
}

@media screen and (min-width: 821px) { .p-service__btn { position: absolute; bottom: 30px; left: 0; width: 100%; margin-top: 0;
  }
}

@media screen and (min-width: 821px) { .p-service__img { width: 30%;
  }
}

@media screen and (min-width: 821px) { .p-service__txt { width: 66.6%; padding-left: 50px;
  }
}

.top .p-top__mv { position: relative; padding: 3%; overflow: hidden;
}

.top .p-top__mv img { pointer-events: none; object-fit: cover; object-position: center;
}

@media screen and (min-width: 1025px) { .top .p-top__mv { padding: 40px 2vw;
  }

  .top .p-top__mv img { height: 630px;
  }
}

.top .p-top__mv:before { content: ""; display: block; position: absolute; width: calc(100% - ((100% - 1200px) / 2)); height: calc(100% - 80px - 2vw); background: #FCFAEF; right: 0; bottom: 40px; z-index: -1;
}

.top .p-top__news { background: #FCFAEF; width: 90%; margin-left: auto; margin-right: auto; margin-top: -10%; position: relative;
}

@media screen and (min-width: 1025px) { .top .p-top__news { margin-top: -200px; width: calc(100% - 40px); margin-left: 40px;
  }
}

@media screen and (min-width: 1300px) { .top .p-top__news { width: calc(100% - ((100% - 1200px) / 2)); margin-left: calc((100% - 1200px) / 2);
  }
}

.top .p-top__news__head { background: #004831; /* Old browsers */ background: -moz-linear-gradient(-45deg, #004831 1%, #01422d 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(-45deg, #004831 1%, #01422d 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(135deg, #004831 1%, #01422d 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ padding: 3%;
}

.top .p-top__news__head .c-headline__h2 { font-size: 2.0rem;
}

@media screen and (min-width: 821px) { .top .p-top__news__head { width: 22%;
  }
}

@media screen and (min-width: 1025px) { .top .p-top__news__head { width: 20%; padding: 30px;
  }

  .top .p-top__news__head .c-headline__h2 { font-size: 2.8rem;
  }
}

.top .p-top__news__body { padding: 3%;
}

@media screen and (min-width: 1025px) { .top .p-top__news__body { padding: 20px;
  }
}

.top .p-top__wrap { background: url(/assets/images/bg.png) no-repeat; background-size: 60%; background-position: right -50% top 150px;
}

@media screen and (min-width: 1025px) { .top .p-top__wrap { background-position: calc(50% + 600px) 0; background-size: auto;
  }
}

.top .p-top__slider { padding-left: 30px; padding-right: 30px;
}

@media screen and (min-width: 1025px) { .top .p-top__slider { padding-left: 0; padding-right: 0;
  }
}

.top .p-top__slider__item { width: 25%; text-align: center; padding: 4%;
}

.top .p-top__slider__item img { width: 100%;
}

.top .p-top__about { position: relative;
}

@media screen and (min-width: 821px) { .top .p-top__about { padding-left: 40px; padding-right: 40px;
  }
}

@media screen and (min-width: 821px) { .top .p-top__about { padding-left: 0; padding-right: 0;
  }
}

@media screen and (min-width: 1025px) { .top .p-top__about__bg { display: block; width: calc(100% - 40px); height: 460px; background: #FCFAEF; position: absolute;
  }

  .top .p-top__about__txt { position: absolute; width: 50%; margin-left: auto; margin-right: auto; padding: 0; left: 50%; top: 60px; margin-left: -50%; padding-left: 30px; z-index: 1; line-height: 2.0;
  }

  .top .p-top__about__img { position: relative; left: 50%; width: calc(50% - 2vw); padding: 60px 0 0 60px;
  }

  .top .p-top__about__img img { min-height: 430px; max-height: 560px; object-fit: cover; object-position: center;
  }
}

@media screen and (min-width: 1200px) { .top .p-top__about__txt { width: calc(1200px / 2); margin-left: -600px;
  }

  .top .p-top__about__bg { width: calc(100% - ((100% - 1200px) / 2));
  }
}

.top .p-top__arrow:after { content: url(/assets/images/fig_flow_l.png); display: block; text-align: center; padding-top: 0.5em;
}

.top .floatbox { bottom: auto; top: 50%; transform: none;
}

@media screen and (min-width: 1025px) { .top .floatbox { transform: translateY(-50%);
  }
}

/*========================== utility ==========================*/

.serif { font-family: 'Noto Serif JP', sans-serif; letter-spacing: 0.008em;
}

.hr { border-top: 1px solid #7F6438; margin: 1.5em 0;
}

.hr.-dot { border-style: dotted;
}

.blocklink { display: block; text-decoration: none; cursor: pointer;
}

.blocklink * { position: relative;
}

.blocklink .shadow img { transition: .4s;
}

.blocklink:before { transition: .4s;
}

.blocklink:hover { opacity: 1;
}

.blocklink:hover .shadow img { opacity: 0.8;
}

.blocklink:hover:before { height: 100%; background: -moz-linear-gradient(top, #e5dac7 0%, rgba(255, 255, 255, 0.2) 100%); background: -webkit-linear-gradient(top, #e5dac7 0%, rgba(255, 255, 255, 0.2) 100%); background: linear-gradient(to bottom, #e5dac7 0%, rgba(255, 255, 255, 0.2) 100%);
}

.inline-block { display: inline-block;
}

.block { display: block;
}

.line-2 { min-height: 3.0em; display: flex; justify-content: flex-start; align-items: center;
}

.float-left__sp { float: left;
}

@media screen and (min-width: 666px) { .float-left__sp { float: none;
  }
}

@media screen and (min-width: 821px) { .sticky { position: sticky; top: 100px;
  }
}

.-rl { writing-mode: vertical-rl; margin-right: 10px; white-space: nowrap;
}

.-rl i { -webkit-text-combine: horizontal;
}

@media screen and (min-width: 821px) { .-rl { writing-mode: horizontal-tb; height: auto;
  }
}

.nowrap { white-space: nowrap;
}

.-justify-start { justify-content: flex-start;
}

.mt-0 { margin-top: 0 !important;
}

.-mt-l { margin-top: -40px;
}

.mb-0 { margin-bottom: 0;
}

.mb-l { margin-bottom: 3.6em;
}

.mb-m { margin-bottom: 2.2em;
}

.mb-s { margin-bottom: 1em;
}

.mb-xs { margin-bottom: 10px;
}

.mr-xs { margin-right: 0.5em;
}

.mr-s { margin-right: 1em;
}

.mx-s { margin-left: 1em; margin-right: 1em;
}

.my-s { margin-top: 0.8em; margin-bottom: 0.8em;
}

.l-block.mb-ft { margin-bottom: -80px;
}

.p-0 { padding: 0 !important;
}

.p-s { padding: 8px;
}

.p-m { padding: 16px;
}

.p-l { padding: 5%;
}

@media screen and (min-width: 821px) { .p-l { padding: 30px;
  }
}

.py-s { padding-top: 8px; padding-bottom: 8px;
}

.py-m { padding-top: 16px; padding-bottom: 16px;
}

.py-l { padding-top: 30px; padding-bottom: 30px;
}

.pt-s { padding-top: 8px;
}

.pt-m { padding-top: 16px;
}

.pt-l { padding-top: 30px;
}

.pb-s { padding-bottom: 8px;
}

.pb-m { padding-bottom: 16px;
}

.pb-l { padding-bottom: 30px;
}

@media screen and (min-width: 1025px) { .px-0 { padding-left: 0; padding-right: 0;
  }
}

.px-s { padding-right: 8px; padding-left: 8px;
}

.px-m { padding-right: 16px; padding-left: 16px;
}

.w-auto { width: auto; min-width: 0;
}

.w-full { width: 100%; min-width: 0;
}

.w-half { width: 50%; min-width: 0;
}

.w-third { width: 33.3%; min-width: 0;
}

.w-quarter { width: 25%; min-width: 0;
}

.w-post { width: 15%; min-width: 0;
}

.w-name { min-width: 95px;
}

.w-spfull { width: 100%;
}

@media screen and (min-width: 1025px) { .w-spfull { width: auto;
  }
}

.h-auto { height: auto;
}

.bgBox-beige { background-color: #fbfbf9; padding: 5%;
}

@media screen and (min-width: 1025px) { .bgBox-beige { padding: 20px;
  }
}

.bg-white { background: #fff !important;
}

.bg-lightBrown { background: #FCFAEF;
}

.bg-brown { background: #7F6438;
}

.bg-green { background: #004831;
}

.bg-notice { background: #770a0a;
}

.bg-red { background: #FDF2F2;
}

.bg-red > td { background: #FDF2F2;
}

.bg-gray { background: #F9F9F9;
}

.bg-beige { background: #F5F5F0;
}

.bg-delete { background: #dadada;
}

.valign-middle { vertical-align: middle;
}

.border-t { border-top: solid 1px #7F6438;
}

.border-t__none { border-top: none;
}

.border-brown { border: solid 1px #7F6438;
}

.nobrd { border: none;
}

.nobrd > th, .nobrd > td { border-bottom: none;
}

.color-green { color: #004831;
}

.color-lgreen { color: #c4d700;
}

.color-red { color: #770a0a;
}

.color-white { color: #fff;
}

.color-brown { color: #7F6438;
}

.color-error { color: red; font-size: 12px; font-size: 1.2rem; line-height: 1.4;
}

.relative { position: relative;
}

.round-s { border-radius: 4px;
}

.round-m { border-radius: 10px;
}

.disp-PC { display: none;
}

@media screen and (min-width: 1025px) { .disp-PC { display: block;
  }
}

.disp-PC.-i { display: none;
}

@media screen and (min-width: 1025px) { .disp-PC.-i { display: inline-block;
  }
}

.disp-PC.-t { display: none;
}

@media screen and (min-width: 1025px) { .disp-PC.-t { display: table;
  }
}

.disp-SP { display: block;
}

@media screen and (min-width: 1025px) { .disp-SP { display: none;
  }
}

.disp-SP.-i { display: inline-block;
}

@media screen and (min-width: 1025px) { .disp-SP.-i { display: none;
  }
}

.disp-SP.-t { display: table;
}

@media screen and (min-width: 1025px) { .disp-SP.-t { display: none;
  }
}

.overflow-x { overflow: auto;
}

.js-hidden { display: none;
}

.js-disabled { opacity: 0.7; pointer-events: none;
}

.event-none { pointer-events: none;
}

.event-none + label { pointer-events: none;
}

.shadow:after { content: ""; display: block; height: 20px; margin-top: 1px; opacity: 0.4; background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 100%); background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 100%); background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 100%);
}

.blocklink .shadow:before { content: url(/assets/images/icon_imglink.png); display: block; position: absolute; bottom: 21px; right: 0; z-index: 1;
}

.boxshadow { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.themeLayoutStarterWrapper { position: relative; z-index: 1; font-size: .8125rem; width: 100%; touch-action: manipulation;
}

/*# sourceMappingURL=style.css.map */


/*========================== agrex add style start ==========================*/

.c-postal__text { width: 77px;
}

.c-text__spacebreak { white-space: normal; word-break: keep-all;
}

.c-label__status.-location { border-color: #004831; background-color: #004831; color: #fff;
}

/*========================== agrex add style end ============================*/