@charset "UTF-8";
/*============================
reset
============================*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  background: none;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

sup,
sub {
  line-height: 100%;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: 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;
}

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/* custom */
.scroll-hint-icon {
  width: 180px;
  height: 88px;
  top: calc(50% - 45px);
  left: calc(50% - 90px);
  padding: 20px 5px 10px;
}

.scroll-hint-text {
  font-size: 78.5714285714%;
  line-height: 164%;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: none;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  transition: none;
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
}

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out;
}
.modaal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
  border: none;
  background: transparent;
  padding: 0;
  -webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}
.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}
.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}
.modaal-fullscreen .modaal-inner-wrapper {
  padding: 0;
  display: block;
  vertical-align: top;
}

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
}
.modaal-container.is_loading {
  height: 100px;
  width: 100px;
  overflow: hidden;
}
.modaal-fullscreen .modaal-container {
  max-width: none;
  height: 100%;
  overflow: auto;
}

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-close:focus, .modaal-close:hover {
  outline: none;
  background: #fff;
}
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
  background: #390;
}
.modaal-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-close:before, .modaal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-close:before {
  transform: rotate(-45deg);
}
.modaal-close:after {
  transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 10px;
  top: 10px;
}

.modaal-content-container {
  padding: 30px;
}

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0;
}

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent;
}
.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  transition: background 0.2s ease-in-out;
}
.modaal-confirm-btn.modaal-ok:hover {
  background: rgb(46.75, 46.75, 46.75);
}
.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline;
}
.modaal-confirm-btn.modaal-cancel:hover {
  text-decoration: none;
  color: rgb(46.75, 46.75, 46.75);
}

@keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important;
}
.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent;
}
.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards;
}

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px;
}
.modaal-image .modaal-container {
  width: auto;
  max-width: 100%;
}

.modaal-gallery-wrap {
  position: relative;
  color: #fff;
}

.modaal-gallery-item {
  display: none;
}
.modaal-gallery-item img {
  display: block;
}
.modaal-gallery-item.is_active {
  display: block;
}

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff;
}
.modaal-gallery-label:focus {
  outline: none;
}

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default;
}
.modaal-gallery-control:focus, .modaal-gallery-control:hover {
  outline: none;
  background: #fff;
}
.modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
  background: #afb7bc;
}
.modaal-gallery-control span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-gallery-control:before, .modaal-gallery-control:after {
  display: block;
  content: " ";
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-gallery-control:before {
  margin: -5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-control:after {
  margin: 5px 0 0;
  transform: rotate(45deg);
}

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px;
}
.modaal-gallery-next-outer {
  right: 45px;
}

.modaal-gallery-prev:before, .modaal-gallery-prev:after {
  left: 22px;
}
.modaal-gallery-prev:before {
  margin: 5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-prev:after {
  margin: -5px 0 0;
  transform: rotate(45deg);
}
.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px;
}
.modaal-gallery-prev-outer {
  left: 45px;
}

.modaal-video-wrap {
  margin: auto 50px;
  position: relative;
}

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%;
}

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block;
}

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px;
  }
}
@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px;
  }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7);
  }
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    background: #fff;
  }
  .modaal-gallery-next {
    left: auto;
    right: 20px;
  }
  .modaal-gallery-prev {
    left: 20px;
    right: auto;
  }
}
@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
}
@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important;
  }
}
@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .modaal-instagram iframe {
    width: 600px !important;
  }
}
@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px;
  }
}
@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important;
  }
}
@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none;
  }
}
.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25);
}
@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    transform: scale(1);
  }
}
.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute;
}

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}

/* custom */
@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.modaal-image .modaal-container {
  padding: 10px;
  background: #fff;
  border-radius: 5px;
  max-width: 150vw;
  opacity: 0;
}

/* ***************************
mt-class
*************************** */
.mt-enclosure-image:after {
  content: "";
  display: block;
  clear: both;
}

.mt-image-left,
.mt-image-center,
.mt-image-right {
  margin-bottom: 0 !important;
}

/* ***************************
html, body
*************************** */
html {
  min-height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 320px;
  height: 100%;
  min-height: 100vh;
  background: #fff;
  vertical-align: baseline;
  font-weight: normal;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-size: 100%;
  line-height: 175%;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #333;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

input,
textarea,
select,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  font-size: 100%;
  line-height: 175%;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (max-width: 599px) {
  input,
  textarea,
  select,
  button {
    font-size: 100%;
    line-height: 172%;
  }
}

select::-ms-expand {
  display: none;
}

/* ***************************
a
*************************** */
a {
  color: #0000ff;
  text-decoration: underline;
  font-size: 1rem;
  line-height: 1.75;
}
a.visited, a:visited {
  color: #800080;
}
a:hover {
  color: #0080ff;
  text-decoration: none;
}
a:hover:before {
  text-decoration: none;
}

/* icon */
a[href*=".pdf"]:after, a[href*=".PDF"]:after, a[href*=".doc"]:after, a[href*=".DOC"]:after, a[href*=".xls"]:after, a[href*=".XLS"]:after, a[href*=".ppt"]:after, a[href*=".PPT"]:after, a[href*=".zip"]:after, a[href*=".ZIP"]:after, a[href^=http]:not([href*="agriweb.jp/"]):not(.o-listSNav__link):not(.o-listGNav__link):not(.o-myPageList__link):not(.o-hBtns__btn):not(.o-topAiButtons__link):after, a[href^="/redirect/?url=http"]:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 16px;
  margin: -4px 6px 0;
  background: url("./img/icon_files.png") no-repeat;
  background-size: 125% 593.75%;
  vertical-align: middle;
}
a[href*=".pdf"]:after, a[href*=".PDF"]:after {
  background-position: 0 0;
}
a[href*=".doc"]:after, a[href*=".DOC"]:after {
  background-position: 0 -16px;
}
a[href*=".xls"]:after, a[href*=".XLS"]:after {
  background-position: 0 -32px;
}
a[href*=".ppt"]:after, a[href*=".PPT"]:after {
  background-position: 0 -48px;
}
a[href*=".zip"]:after, a[href*=".ZIP"]:after {
  background-position: 0 -64px;
}
a[href^=http]:not([href*="agriweb.jp/"]):not(.o-listSNav__link):not(.o-listGNav__link):not(.o-myPageList__link):not(.o-hBtns__btn):not(.o-topAiButtons__link):after, a[href^="/redirect/?url=http"]:after {
  width: 15px;
  height: 15px;
  background-size: 100% 633.3333333333%;
  background-position: 0 -80px;
}

.o-iconLock::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 17px;
  margin: -4px 6px 0;
  background: url("./img/svg/icon_lock_darkgray.svg") no-repeat;
  vertical-align: middle;
}

.o-iconCrown::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 18px;
  margin: -4px 8px 0 2px;
  background-color: #339900;
  vertical-align: middle;
}

/* ***************************
hr
*************************** */
hr {
  height: 0;
  margin: 30px 0;
  background: none;
  border: none;
  border-top: 1px solid #999;
}

/* ***************************
img
*************************** */
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

/* ***************************
mark, caution
*************************** */
strong,
b {
  font-weight: bold;
}

em {
  color: #390;
  font-weight: bold;
}

mark {
  color: #b90f0f;
  font-weight: bold;
}

/* ***************************
headding
*************************** */
/* h1 */
/* h2 */
h2 {
  position: relative;
  margin: 0 0 17px;
  padding: 0 0 7px;
  background: none;
  border-bottom: 2px solid #7bc058;
  font-size: 1.25rem;
  line-height: 1.3;
  color: #333;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  h2 {
    margin-bottom: 18px;
    padding-bottom: 4px;
  }
}
* + h2 {
  margin-top: 35px;
}
.o-loginBox + h2 {
  margin-top: 29px;
}
@media screen and (max-width: 599px) {
  .o-loginBox + h2 {
    margin-top: 32px;
  }
}
.o-formBox__heading + h2 {
  margin-top: 26px;
}
h2:after {
  position: absolute;
  content: "";
  display: block;
  width: 117px;
  height: 2px;
  left: 0;
  bottom: -2px;
  background: #390;
}
@media screen and (max-width: 959px) {
  h2:after {
    width: 120px;
    height: 2px;
    bottom: -2px;
  }
}

/* h3 */
h3 {
  position: relative;
  margin: 0 0 16px;
  padding: 8px 0 8px 20px;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: bold;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
}
@media screen and (max-width: 599px) {
  h3 {
    padding: 9px 0 8px 19px;
  }
}
* + h3 {
  margin-top: 27px;
}
h2 + h3 {
  margin-top: 35px;
}
@media screen and (max-width: 599px) {
  h2 + h3 {
    margin-top: 18px;
  }
}

h3:before {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 20px);
  top: 0;
  bottom: 0;
  left: 1px;
  margin: auto;
  background: #339900;
  border-radius: 2px;
}
@media screen and (max-width: 599px) {
  h3:before {
    left: 0;
  }
}

/* h4 */
h4 {
  position: relative;
  margin: 0 0 8px;
  padding: 0 0 0 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  h4 {
    padding: 0 0 0 15px;
  }
}
* + h4 {
  margin-top: 27px;
}

h4:before {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 4px);
  top: 1px;
  left: 0;
  background: #d1b203;
  border-radius: 2px;
}
/* h5 */
h5 {
  position: relative;
  margin: 0 0 9px;
  padding: 0 0 0 19px;
  font-size: 0.9375rem;
  line-height: 1.5333333333;
  font-weight: bold;
}
h5:before {
  position: absolute;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  top: 8px;
  left: 0;
  background: #999;
  border-radius: 2px;
}
@media screen and (max-width: 599px) {
  h5:before {
    width: 7px;
    height: 7px;
    top: 6px;
    border-radius: 1px;
  }
}
* + h5 {
  margin-top: 15px;
}
@media screen and (max-width: 599px) {
  * + h5 {
    margin-top: 17px;
  }
}

/* h6 */
h6 {
  font-size: 87.5%;
  line-height: 172%;
  font-weight: bold;
}
* + h6 {
  margin-top: 12px;
}

/* ***************************
text
*************************** */
* + p {
  margin-top: 8px;
}
/* ***************************
list
*************************** */
/*
ul
--------------------------- */
ul > li {
  position: relative;
  padding-left: 17px;
  font-size: 1rem;
  line-height: 1.625;
}
@media screen and (max-width: 599px) {
  ul > li {
    padding-left: 16px;
  }
}
ul > li:before {
  position: absolute;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  top: 9px;
  left: 0px;
  background: #390;
  border-radius: 50%;
}
ul > li + li {
  margin-top: 4px;
}
li > ul li:before {
  background-color: #7bc058;
}

/*
ol
--------------------------- */
ol {
  margin: 0 0 0 18px;
  list-style: decimal;
  font-size: 1rem;
  line-height: 1.625;
}
ol > li {
  padding-left: 17px;
}
@media screen and (max-width: 599px) {
  ol > li {
    padding-left: 16px;
  }
}
ol > li + li {
  margin-top: 5px;
}

* + ul, * + ol {
  margin-top: 16px;
}
@media screen and (max-width: 599px) {
  * + ul, * + ol {
    margin-top: 9px;
  }
}

li > ul, li > ol {
  margin: 4px 0 0 0;
}
@media screen and (max-width: 599px) {
  li > ul, li > ol {
    margin-top: 8px;
  }
}

ul + ul, ol + ul {
  margin-top: 11px;
}
@media screen and (max-width: 599px) {
  ul + ul, ol + ul {
    margin-top: 10px;
  }
}
ul + ol, ol + ol {
  margin-top: 10px;
}
@media screen and (max-width: 599px) {
  ul + ol, ol + ol {
    margin-top: 10px;
  }
}

/* ***************************
table
*************************** */
table {
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
}
* + table {
  margin-top: 20px;
}

th,
td {
  padding: 8px 16px 9px;
  font-size: 1rem;
  line-height: 1.625;
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  box-sizing: border-box;
}

th {
  text-align: center;
  background: #f8f8ed;
  font-weight: bold;
}
thead th {
  background-color: #ddeed5;
}

td {
  background: #fff;
}

.u-thead2 {
  background: #fff4e0;
  color: #333;
  font-weight: normal;
}

/* ***************************
l-base
*************************** */
.l-base {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  padding-top: 48px;
  background: #f5f5f5;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .l-base {
    padding-top: 55px;
  }
}

.l-base__overlay {
  position: absolute;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 4;
}
.l-base--navOpen .l-base__overlay, .l-base--searchOpen .l-base__overlay {
  display: block;
}

.l-base__header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  border-bottom: 1px solid #e0e2e7;
}

.l-base__body {
  position: relative;
  flex-grow: 1;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
  max-width: 1130px;
  padding: 14px 15px 54px;
  background: #f5f5f5;
}
@media screen and (min-width: 1160px) {
  .l-base__body {
    padding: 14px calc(100% - 1145px) 54px 15px;
  }
}
@media screen and (min-width: 1285px) {
  .l-base__body {
    padding: 14px 140px 54px calc(100% - 1270px);
  }
}
@media screen and (min-width: 1410px) {
  .l-base__body {
    padding: 14px 140px 54px;
  }
}
@media screen and (max-width: 959px) {
  .l-base__body {
    width: 100%;
    padding: 14px 0 0;
  }
}
@media screen and (max-width: 599px) {
  .l-base__body {
    width: 100%;
    padding-top: 9px;
  }
}
.l-base--maintenance .l-base__body {
  box-sizing: border-box;
}
@media screen and (min-width: 960px) {
  .l-base--maintenance .l-base__body {
    padding: 20px 15px 54px;
  }
}

.l-base__main {
  width: calc(100% - 210px);
  box-sizing: border-box;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .l-base__main {
    width: 100%;
  }
}
.l-base--maintenance .l-base__main {
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-base--maintenance .l-base__main {
    padding-top: 50px;
  }
}

.l-base__side {
  order: -1;
  width: 190px;
  margin-right: 20px;
}
@media screen and (max-width: 959px) {
  .l-base__side {
    order: 0;
    width: 100%;
    margin-right: 0;
  }
}
.l-base__body--pwOpen .l-base__side {
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 960px) {
  .l-base__side__inner {
    position: sticky;
    top: 58px;
  }
}
@media screen and (min-width: 1025px) {
  .l-base__side__inner {
    top: 58px;
  }
}

.l-base__floatBnr {
  position: fixed;
  top: 299px;
  right: 0;
  z-index: 3;
  overflow: hidden;
}
@media screen and (max-height: 740px) {
  .l-base__floatBnr {
    top: 40.5405405405%;
  }
}
@media screen and (max-height: 630px) {
  .l-base__floatBnr {
    top: auto;
    bottom: 230px;
  }
}
@media screen and (max-height: 460px) {
  .l-base__floatBnr {
    top: 90px;
    bottom: auto;
  }
}
@media screen and (max-width: 1024px) {
  .l-base__floatBnr {
    display: none;
  }
}

.l-base__footer {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.l-base__modal {
  position: relative;
  z-index: 6;
}

.l-base__loading {
  position: relative;
  z-index: 7;
}

/* ***************************
l-header
*************************** */
.l-header {
  position: relative;
  background: #fff;
}

.l-header__body {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1130px;
  margin: auto;
  padding: 0 20px;
}
@media screen and (max-width: 599px) {
  .l-header__body {
    padding: 0 15px 0 21px;
  }
}
.l-base--maintenance .l-header__body {
  align-items: flex-start;
}

.l-header__body__left {
  flex: 1;
  padding: 3px 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .l-header__body__left {
    padding: 10px 0 0;
  }
}
.l-header__body__right {
  width: auto;
  padding: 9px 0 4px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .l-header__body__right {
    padding: 6px 0 4px;
  }
}
.l-header--login .l-header__body__right {
  padding: 0 0 4px;
}
@media screen and (max-width: 599px) {
  .l-header--login .l-header__body__right {
    padding: 0 0 4px;
  }
}

.l-header__menu {
  position: relative;
}

.l-header__menu__inner {
  position: absolute;
  width: 100%;
  padding: 0;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
  overflow: hidden;
}
.l-header__menu__inner:not(.l-header__menu__inner--init) {
  max-height: 0;
}
@media screen and (min-width: 960px) {
  .l-header__menu__inner {
    max-width: 920px;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__menu__inner {
    right: 140px;
    left: auto;
  }
}
@media screen and (min-width: 1380px) {
  .l-header__menu__inner {
    right: auto;
    left: calc(50% - 370px);
  }
}

/* ***************************
l-nav
*************************** */
.l-nav {
  position: relative;
}

.l-nav__inner {
  position: absolute;
  width: 100%;
  max-height: 0;
  padding: 0;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #f5f5f5;
  z-index: 3;
  overflow: hidden;
  transition: max-height 0.6s;
}
.l-base--navOpen .l-nav__inner {
  max-height: calc(100vh - 90px);
}
@media screen and (max-width: 599px) {
  .l-base--navOpen .l-nav__inner {
    max-height: 100vh;
  }
}

@media screen and (max-width: 959px) {
  .l-nav__inner {
    left: auto;
    right: 0;
    max-width: 356px;
  }
}
@media screen and (min-width: 960px) {
  .l-nav__inner {
    max-width: 1130px;
  }
}
@media screen and (min-width: 1160px) {
  .l-nav__inner {
    right: auto;
    left: 15px;
  }
}
@media screen and (min-width: 1285px) {
  .l-nav__inner {
    right: 140px;
    left: auto;
  }
}
@media screen and (min-width: 1410px) {
  .l-nav__inner {
    right: auto;
    left: calc(50% - 565px);
  }
}

/* ***************************
l-main
*************************** */
@media screen and (max-width: 959px) {
  .l-main__top {
    padding: 0 20px;
  }
}

@media screen and (max-width: 959px) {
  .l-main__middle {
    padding: 0 20px 42px;
  }
}
.l-main__top + .l-main__middle {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  .l-main__top + .l-main__middle {
    margin-top: 20px;
  }
}

@media screen and (max-width: 959px) {
  .l-base--toppage .l-main__middle {
    padding: 0 20px;
  }
}

/* ***************************
l-footer
*************************** */
.l-footer {
  position: relative;
  z-index: 2;
}

.l-footer__top {
  padding: 21px 15px 19px;
  background: #fff;
}
@media screen and (max-width: 599px) {
  .l-footer__top {
    padding: 30px 10px 9px 15px;
  }
}

.l-footer__middle {
  padding: 15px 10px;
}
@media screen and (min-width: 600px) {
  .l-footer__middle {
    padding: 20px 10px;
  }
}

.l-footer__bottom {
  position: relative;
  padding: 12px 15px 10px;
  background: #390;
  color: #fff;
}
@media screen and (max-width: 599px) {
  .l-footer__bottom {
    padding-top: 9px;
  }
}

/* ***************************
o-logo
*************************** */
.o-logo {
  display: flex;
  align-items: flex-start;
}

.o-logo__img {
  width: 160px;
  margin: 0 24px 0 0;
}
@media screen and (max-width: 599px) {
  .o-logo__img {
    width: 96px;
    margin-right: 0;
  }
}
@media screen and (max-width: 370px) {
  .o-logo__img {
    width: 60px;
  }
}
.o-logo__img a {
  display: block;
}
.o-logo--twoImg .o-logo__img {
  width: auto;
  margin: 0;
}
.o-logo--twoImg .o-logo__img + .o-logo__img {
  margin: -2px 0 0 8px;
}

.o-logo__text {
  flex: 1;
  margin: 3px 0 0;
  font-size: 75%;
  line-height: 150%;
  color: #999;
}
@media screen and (max-width: 599px) {
  .o-logo__text {
    display: none;
  }
}

/* ***************************
o-headerCopy
*************************** */
.o-headerCopy {
  text-align: right;
  font-size: 75%;
  line-height: 100%;
}
@media screen and (max-width: 599px) {
  .o-headerCopy {
    font-size: 85.7142857143%;
    line-height: 100%;
  }
}
.o-headerCopy img {
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-headerCopy img {
    max-width: 180px;
  }
}

/* ***************************
o-headerUtil
*************************** */
.o-headerUtil {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}

.o-headerUtil__search {
  z-index: 2;
  padding: 2px 0 0;
}
@media screen and (max-width: 959px) {
  .o-headerUtil__search {
    display: none;
  }
}

.o-headerUtil__btns {
  margin-left: 10px;
  z-index: 1;
}

.o-headerUtil__menu {
  margin-left: 9px;
}
@media screen and (max-width: 599px) {
  .o-headerUtil__menu {
    margin-left: 7px;
  }
}
.l-header--login .o-headerUtil__menu {
  margin-top: 9px;
}
@media screen and (max-width: 599px) {
  .l-header--login .o-headerUtil__menu {
    margin-top: 6px;
  }
}

/*
o-searchBox
*************************** */
.o-searchBox__form__inner {
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.o-searchBox__form__input {
  width: 254px;
  height: 30px;
  margin: 0;
  padding: 0 5px 0 7px;
  background: #fff;
  border: 1px solid #b4b8bc;
  font-size: 0.75rem;
  line-height: 1;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  box-sizing: border-box;
  border-radius: 5px 0 0 5px;
}
.o-searchBox__form__input::-moz-placeholder {
  color: #8a8d91;
  font-weight: bold;
}
.o-searchBox__form__input::placeholder {
  color: #8a8d91;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-searchBox__form__input {
    height: 35px;
  }
}

.o-searchBox__form__submit {
  position: relative;
  margin: 0;
  padding: 6px 4px 3px 10px;
  height: 30px;
  font-size: 87.5%;
  line-height: 129%;
  color: #1d1d1d;
  font-weight: bold;
  white-space: nowrap;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  cursor: pointer;
  border-radius: 0 5px 5px 0;
  background-color: #e0e2e7;
  border: 1px solid #b4b8bc;
  border-left: none;
}
@media screen and (max-width: 1024px) {
  .o-searchBox__form__submit {
    padding: 5px 6px 3px 10px;
  }
}
@media screen and (max-width: 599px) {
  .o-searchBox__form__submit {
    height: 35px;
  }
}
.o-searchBox__form__submit:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -4px 0 0 6px;
  background: url("./img/svg/icon_search.svg") center center no-repeat;
  background-size: cover;
  vertical-align: middle;
}

/*
o-hBtns
*************************** */
.o-hBtns {
  display: flex;
  justify-content: center;
}

.o-hBtns__items {
  display: flex;
  justify-content: center;
}
* + .o-hBtns__items {
  margin-left: 10px;
}

@media screen and (min-width: 1025px) {
  .o-hBtns__item--registration {
    display: none;
  }
}
.o-hBtns__item + .o-hBtns__item {
  margin-left: 11px;
}
@media screen and (max-width: 599px) {
  .o-hBtns__item--logout {
    display: none;
  }
}

.o-hBtns__btn {
  position: relative;
  display: block;
  width: 100%;
  height: 38px;
  padding: 3px 6px 3px 13px;
  background: #390;
  border: 1px solid #390;
  font-size: 87.5%;
  line-height: 215%;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  white-space: nowrap;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .o-hBtns__btn {
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn {
    height: 30px;
    padding: 7px 5px 7px 8px;
    font-size: 85.7142857143%;
    line-height: 125%;
    border-radius: 2.5px;
  }
}
.o-hBtns__btn:link, .o-hBtns__btn:visited, .o-hBtns__btn:hover {
  color: #fff;
  text-decoration: none;
}
.o-hBtns__btn--login:after, .o-hBtns__btn--mypage:after, .o-hBtns__btn--consultation:after {
  content: "";
  display: inline-block;
  background: url("./img/icon_header.png") left top no-repeat;
  background-size: 22px 101px;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--login:after, .o-hBtns__btn--mypage:after, .o-hBtns__btn--consultation:after {
    background-image: url("./img/icon_header_sp.png");
    background-size: 20px 87px;
  }
}
.o-hBtns__btn--login {
  width: auto;
  height: auto;
  margin: 0 0 0 0;
  padding: 0;
  background-color: transparent;
  border: none;
  font-size: 0.625rem;
  line-height: 2;
  font-weight: bold;
  border-radius: 0;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--login {
    margin-top: 3px;
  }
}
.o-hBtns__btn--login::before {
  display: block;
  width: 20px;
  height: 25px;
  margin: 0 auto;
  content: "";
  background-image: url(./img/svg/icon_login.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-hBtns__btn--login::after {
  display: none;
}
.o-hBtns__btn--login span {
  display: block;
  padding-top: 3px;
  color: #1d1d1d;
  line-height: 100%;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--login span {
    padding-top: 7px;
  }
}
.o-hBtns__btn--mypage {
  width: auto;
  height: auto;
  padding: 2px 0 0;
  background-color: transparent;
  border: none;
  font-size: 0.625rem;
  line-height: 2;
  text-align: center;
  font-weight: bold;
  border-radius: 0;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--mypage {
    padding: 6px 0 0;
  }
}
.o-hBtns__btn--mypage::after {
  display: none;
}
.o-hBtns__btn--mypage .o-hBtns__btn__img {
  display: inline-block;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  vertical-align: top;
  overflow: hidden;
}
.o-hBtns__btn--mypage .o-hBtns__btn__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 32px;
  height: 32px;
}
.o-hBtns__btn--mypage span {
  display: block;
  padding-top: 3px;
  color: #1d1d1d;
  line-height: 100%;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
}
.o-hBtns__btn--consultation:after {
  width: 22px;
  height: 20px;
  margin: -2px 0 0 7px;
  background-position: 0 -21px;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--consultation:after {
    width: 20px;
    height: 19px;
    background-position: 0 -13px;
  }
}
.o-hBtns__btn--appines {
  padding: 3px 14px;
  background-color: #fff;
  color: #390;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--appines {
    height: 25px;
    padding: 3px 5px;
  }
}
.o-hBtns__btn--appines:link, .o-hBtns__btn--appines:visited, .o-hBtns__btn--appines:hover {
  color: #390;
}
.o-hBtns__btn--registration span:nth-child(1):after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -2px 5px 0 9px;
  background: url("./img/svg/icon_header.png") left top no-repeat;
  background-size: 22px 101px;
  background-position: 0 -81px;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--registration span:nth-child(1):after {
    width: 17px;
    height: 17px;
    background-image: url("./img/svg/icon_header_sp.png");
    background-size: 20px 87px;
    background-position: 0 -70px;
  }
}
.o-hBtns__btn--registration span:nth-child(2) {
  display: inline-block;
  width: 50px;
  padding: 2px;
  background: #fff;
  margin: -2px 0 0 0;
  color: #390;
  vertical-align: middle;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 100%;
  line-height: 143%;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--registration span:nth-child(2) {
    width: 38px;
    padding: 1px 2px;
    border-radius: 1.5px;
  }
}
.o-hBtns__btn--message {
  width: auto;
  height: auto;
  padding: 6px 0 0 0;
  background-color: transparent;
  border: none;
  font-size: 0.625rem;
  line-height: 2;
  font-weight: bold;
  border-radius: 0;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--message {
    padding: 11px 0 0 0;
  }
}
.o-hBtns__btn--message::before {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 auto;
  content: "";
  background-image: url(./img/svg/icon_message.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateX(3px);
}
.o-hBtns__btn--message::after {
  display: none;
}
.o-hBtns__btn--message span {
  display: block;
  padding-top: 7px;
  color: #1d1d1d;
  line-height: 100%;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn--message span {
    padding: 6px 0 0;
  }
}
.o-hBtns__btn--logout {
  width: auto;
  height: auto;
  padding: 6px 0 0;
  background-color: transparent;
  border: none;
  font-size: 0.625rem;
  line-height: 2;
  font-weight: bold;
  border-radius: 0;
}
.o-hBtns__btn--logout::before {
  display: block;
  width: 22px;
  height: 22px;
  margin: 0 auto;
  content: "";
  background-image: url(./img/svg/icon_logout.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-hBtns__btn--logout::after {
  display: none;
}
.o-hBtns__btn--logout span {
  display: block;
  padding-top: 9px;
  color: #1d1d1d;
  line-height: 100%;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
}
.o-hBtns__btn.is-message {
  position: relative;
}
.o-hBtns__btn.is-message::after {
  position: absolute;
  top: 4px;
  right: 8px;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #c72626;
  border-radius: 50%;
}
@media screen and (max-width: 599px) {
  .o-hBtns__btn.is-message::after {
    top: 8px;
    right: 5px;
  }
}

/*
o-navTgl
*************************** */
.o-navTgl {
  position: relative;
  padding: 4px 0 0;
}
@media screen and (max-width: 599px) {
  .o-navTgl {
    padding: 10px 6px 0 0;
  }
}

.o-navTgl__btn {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 26px;
  height: 23px;
  cursor: pointer;
}
.o-navTgl__line {
  position: absolute;
  display: block;
  width: 26px;
  height: 3px;
  right: 0;
  left: 0;
  margin: auto;
  background: #390;
  transition: all 0.3s;
}
@media screen and (max-width: 599px) {
  .o-navTgl__line {
    width: 25px;
    height: 3px;
  }
}
.o-navTgl__line:nth-child(1) {
  top: 0;
}
.o-navTgl__btn--active .o-navTgl__line:nth-child(1) {
  top: 10px;
  transform: rotate(-45deg);
}

@media screen and (max-width: 599px) {
  .o-navTgl__btn--active .o-navTgl__line:nth-child(1) {
    top: 11px;
  }
}
.o-navTgl__line:nth-child(2) {
  top: 10px;
}
.o-navTgl__btn--active .o-navTgl__line:nth-child(2) {
  width: 0;
}

@media screen and (max-width: 599px) {
  .o-navTgl__line:nth-child(2) {
    top: 10px;
  }
}
.o-navTgl__line:nth-child(3) {
  top: 20px;
}
.o-navTgl__btn--active .o-navTgl__line:nth-child(3) {
  top: 10px;
  transform: rotate(45deg);
}

@media screen and (max-width: 599px) {
  .o-navTgl__line:nth-child(3) {
    top: 20px;
  }
  .o-navTgl__btn--active .o-navTgl__line:nth-child(3) {
    top: 11px;
  }
}

.o-navTgl__text {
  position: absolute;
  display: block;
  width: 100%;
  top: 37px;
  left: 0;
  font-size: 75%;
  line-height: 100%;
  color: #390;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-navTgl__text {
    top: 20px;
    font-size: 71.4285714286%;
    line-height: 100%;
    font-weight: normal;
  }
}

/* ***************************
o-navGlobal
*************************** */
.o-navGlobal {
  max-height: calc(100vh - 90px);
  max-height: calc(100dvh - 90px);
  overflow: auto;
}
@media screen and (max-width: 959px) {
  .o-navGlobal {
    max-height: calc(100vh - 54px);
    max-height: calc(100dvh - 54px);
  }
}

.o-navGlobal__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 30px 40px 40px;
  background-color: #f3f3f3;
  border-radius: 0 0 10px 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  .o-navGlobal__inner {
    display: block;
    padding: 0 0 30px;
    border-radius: 0;
  }
}

.o-navGlobal__item {
  box-sizing: border-box;
}
.o-navGlobal__item--search {
  display: none;
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item--search {
    display: block;
    padding: 8px 16px 7px;
  }
}
.o-navGlobal__item--myPage {
  display: none;
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item--myPage {
    display: block;
  }
}
.o-navGlobal__item:nth-child(3) {
  display: none;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item:nth-child(3) {
    width: 100%;
    border-top: 1px solid #fff;
  }
}
.o-navGlobal__item:nth-child(3).is-navShow {
  display: block;
}
.o-navGlobal__item:nth-child(3).is-navOne {
  width: 100%;
}
.o-navGlobal__item:nth-child(4) {
  display: none;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item:nth-child(4) {
    width: 100%;
  }
}
.o-navGlobal__item:nth-child(4).is-navShow {
  display: block;
}
.o-navGlobal__item:nth-child(5) {
  width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item:nth-child(5) {
    width: 100%;
  }
}
.o-navGlobal__item:nth-child(6) {
  width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item:nth-child(6) {
    width: 100%;
  }
}
.o-navGlobal__item:nth-child(7) {
  width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item:nth-child(7) {
    width: 100%;
  }
}
.o-navGlobal__item:nth-child(8) {
  display: none;
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item:nth-child(8) {
    display: block;
    width: 100%;
    padding: 20px 0;
  }
}
.o-navGlobal__item:nth-child(9) {
  width: 100%;
}
@media screen and (max-width: 959px) {
  .o-navGlobal__item + .o-navGlobal__item {
    border-top: 1px solid #e0e2e7;
  }
}

/*
o-listGNav
*************************** */
.o-listGNav {
  border-radius: 6px;
  overflow: hidden;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .o-listGNav {
    border-radius: 0;
  }
}
.o-listGNav--menu {
  height: 100%;
}

.o-listGNav__head {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px 5px 4px;
  background: #ccc;
  border: none;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background-color: #339900;
}
@media screen and (max-width: 959px) {
  .o-listGNav__head {
    justify-content: flex-start;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 7px 40px 5px 18px;
    font-size: 1rem;
    line-height: 1.5;
    text-align: left;
    box-sizing: border-box;
  }
}
.o-listGNav--column .o-listGNav__head {
  background-color: #f48b30;
}
.o-navGlobal__item--myPage .o-listGNav__head {
  display: block;
  padding: 0;
}
.o-navGlobal__item--myPage .o-listGNav__head::before, .o-navGlobal__item--myPage .o-listGNav__head::after {
  display: none;
}
.o-listGNav__head::before {
  display: block;
  margin: 0 9px 0 0;
  content: "";
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 959px) {
  .o-listGNav__head::before {
    margin: 0 7px 0 0;
  }
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__head, .o-listGNav--paid .o-listGNav__head {
    padding: 7px 40px 5px 14px;
  }
}
.o-listGNav--expert .o-listGNav__head::before, .o-listGNav--paid .o-listGNav__head::before {
  width: 16px;
  height: 13px;
  background-image: url(./img/svg/icon_premium.svg);
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__head::before, .o-listGNav--paid .o-listGNav__head::before {
    width: 18px;
    height: 16px;
  }
}
.o-listGNav--member .o-listGNav__head::before {
  width: 13px;
  height: 17px;
  background-image: url(./img/svg/icon_lock.svg);
}
.o-listGNav--menu .o-listGNav__head::before {
  width: 16px;
  height: 16px;
  background-image: url(./img/svg/icon_thema.svg);
}
.o-listGNav--action .o-listGNav__head::before {
  width: 14px;
  height: 19px;
  background-image: url(./img/svg/icon_action.svg);
}
.o-listGNav__head::after {
  content: none !important;
}
@media screen and (max-width: 959px) {
  .o-listGNav__head::after {
    position: absolute;
    top: 50%;
    right: 20px;
    left: auto;
    display: block;
    width: 8px;
    height: 14px;
    content: "" !important;
    background-image: url(./img/svg/icon_arrow_white.svg);
    background-color: transparent;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%) rotate(90deg);
  }
}
@media screen and (max-width: 959px) {
  .o-listGNav__head.is-open::after {
    transform: translateY(-50%) rotate(-90deg);
  }
}

.o-listGNav__sideBox {
  height: calc(100% - 32px);
}
@media screen and (min-width: 960px) {
  .o-listGNav__sideBox {
    display: block !important;
  }
}

.o-listGNav__sideBody {
  display: flex;
  width: 100%;
  height: 100%;
}

.o-listGNav__body {
  margin: 0 0 0;
  padding: 2px 0;
  background: #fff;
}
@media screen and (min-width: 960px) {
  .o-listGNav__body {
    display: block !important;
  }
}
.o-listGNav--column .o-listGNav__body {
  flex-wrap: wrap;
  padding: 0;
}
@media screen and (min-width: 960px) {
  .o-listGNav--column .o-listGNav__body {
    display: flex !important;
  }
}
.o-listGNav__sideBox .o-listGNav__body {
  display: block;
  width: 50%;
  padding: 14px 10px 10px 16px;
}
@media screen and (max-width: 959px) {
  .o-listGNav__sideBox .o-listGNav__body {
    padding: 14px 10px 15px 16px;
  }
}
.o-listGNav__head + .o-listGNav__body {
  height: calc(100% - 32px);
}
.o-listGNav__sideBox .o-listGNav__body + .o-listGNav__body {
  border-left: 1px solid #e0e2e7;
}

.o-listGNav__item {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.o-listGNav__item:before {
  content: none !important;
}
.o-listGNav--expert .o-listGNav__item {
  width: 33.3333333333%;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__item {
    width: 100%;
    height: 51px;
  }
}
.o-listGNav--expert .o-listGNav__item + .o-listGNav__item {
  border: none;
  border-left: 1px solid #e0e2e7;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__item + .o-listGNav__item {
    border-left: none;
  }
}
.o-listGNav--paid .o-listGNav__item {
  width: 16.6666666667%;
}
@media screen and (max-width: 959px) {
  .o-listGNav--paid .o-listGNav__item {
    width: 100%;
    height: 51px;
  }
}
.o-listGNav--paid .o-listGNav__item + .o-listGNav__item {
  border: none;
  border-left: 1px solid #e0e2e7;
}
@media screen and (max-width: 959px) {
  .o-listGNav--paid .o-listGNav__item + .o-listGNav__item {
    border-left: none;
  }
}
@media screen and (max-width: 959px) {
  .o-listGNav--member .o-listGNav__item, .o-listGNav--action .o-listGNav__item {
    width: 100%;
    height: 51px;
  }
}
.o-listGNav__sideBox .o-listGNav__item + .o-listGNav__item {
  margin-top: 10px;
}
@media screen and (max-width: 959px) {
  .o-listGNav__sideBox .o-listGNav__item + .o-listGNav__item {
    margin-top: 15px;
  }
}
.o-listGNav__item--lock {
  position: relative;
}
.o-listGNav__item--lock::before {
  position: absolute;
  top: 6px;
  left: auto;
  right: 7px;
  display: block !important;
  width: 8px;
  height: 12px;
  content: "" !important;
  background-image: url(./img/svg/icon_lock_darkgray.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 0;
}
@media screen and (max-width: 959px) {
  .o-listGNav__item--lock::before {
    top: 50%;
    right: 15px;
    width: 12px;
    height: 16px;
    transform: translateY(-50%);
  }
}
.o-listGNav--member .o-listGNav__item--lock::before {
  position: absolute;
  top: 50%;
  right: 15px;
  display: block !important;
  width: 8px;
  height: 12px;
  content: "" !important;
  background-image: url(./img/svg/icon_lock_darkgray.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav--member .o-listGNav__item--lock::before {
    width: 12px;
    height: 16px;
  }
}
.o-listGNav__item--row + .o-listGNav__item--row {
  border-top: 1px solid #e0e2e7;
}
.o-listGNav__item--btn {
  display: none;
}
@media screen and (max-width: 959px) {
  .o-listGNav__item--btn {
    display: block;
    padding: 0 15px;
  }
}

.o-listGNav__link {
  position: relative;
  display: block;
  height: 100%;
  padding: 12px 28px 15px 13px;
  font-size: 0.875rem;
  line-height: 1.2857142857;
  color: #222;
  text-decoration: none;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 959px) {
  .o-listGNav__link {
    display: flex;
    align-items: center;
    min-height: 0;
    padding: 15px 3px 5px;
  }
}
.o-listGNav__link:link, .o-listGNav__link:visited, .o-listGNav__link:hover {
  color: #333;
  text-decoration: none;
}
.o-listGNav--member .o-listGNav__link:before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  margin: 0 10px 0 0;
  background-color: #eff9ea;
  border-radius: 50%;
}
.o-listGNav--expert .o-listGNav__link:before, .o-listGNav--paid .o-listGNav__link:before {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  background-color: #faf1e8;
  border-radius: 50%;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__link:before, .o-listGNav--paid .o-listGNav__link:before {
    width: 34px;
    height: 34px;
    margin: 0 10px 0 0;
  }
}
.o-listGNav--expert .o-listGNav__link:before {
  margin: 0;
}
.o-listGNav__link::after {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 50px;
  height: auto;
  content: "";
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.o-listGNav--expert .o-listGNav__link {
  display: flex;
  padding: 10px 24px;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__link {
    font-size: 0.875rem;
    line-height: 1.2857142857;
    padding: 8px 28px 8px 15px;
  }
}
.o-listGNav--paid .o-listGNav__link {
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.5;
  padding: 10px 9px 6px;
}
@media screen and (max-width: 959px) {
  .o-listGNav--paid .o-listGNav__link {
    font-size: 0.875rem;
    line-height: 1.2857142857;
    padding: 8px 28px 8px 15px;
    text-align: left;
  }
}
@media screen and (max-width: 959px) {
  .o-listGNav--action .o-listGNav__link {
    padding: 8px 28px 8px 15px;
  }
}
.o-listGNav--menu .o-listGNav__link {
  padding: 0;
}
.o-listGNav__link--use, .o-listGNav__link--freeEvent, .o-listGNav__link--apines, .o-listGNav__link--column, .o-listGNav__link--movie, .o-listGNav--member .o-listGNav__link--dm {
  padding: 7px 28px 8px 13px;
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--use, .o-listGNav__link--freeEvent, .o-listGNav__link--apines, .o-listGNav__link--column, .o-listGNav__link--movie, .o-listGNav--member .o-listGNav__link--dm {
    padding: 8px 28px 8px 15px;
  }
}
.o-listGNav__link--chat::after {
  top: 18px;
  left: 50%;
  width: 34px;
  height: 35px;
  background-image: url(./img/svg/icon_chat.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--chat::after {
    top: calc(50% + 2px);
    left: 21px;
    width: 22px;
    height: 23px;
    transform: translate(0, -50%);
  }
}
.o-listGNav--expert .o-listGNav__link--chat::after {
  left: 50px;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__link--chat::after {
    left: 22px;
  }
}
.o-listGNav__link--dm::after {
  top: 23px;
  left: 50%;
  width: 29px;
  height: 24px;
  background-image: url(./img/svg/icon_send.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--dm::after {
    top: calc(50% - 1px);
    left: 22px;
    width: 20px;
    height: 17px;
    transform: translate(0, -50%);
  }
}
.o-listGNav--member .o-listGNav__link--dm::after {
  top: calc(50% - 3px);
  left: 20px;
  width: 21px;
  height: 17px;
  background-image: url(./img/svg/icon_send_green.svg);
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav--member .o-listGNav__link--dm::after {
    top: calc(50% - 1px);
    left: 22px;
  }
}
.o-listGNav--expert .o-listGNav__link--dm::after {
  left: 50px;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__link--dm::after {
    left: 22px;
  }
}
.o-listGNav__link--event::after {
  top: 22px;
  left: 50%;
  width: 26px;
  height: 26px;
  background-image: url(./img/svg/icon_event.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--event::after {
    top: calc(50% - 1px);
    left: 23px;
    width: 18px;
    height: 18px;
    transform: translate(0, -50%);
  }
}
.o-listGNav--expert .o-listGNav__link--event::after {
  left: 50px;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__link--event::after {
    left: 23px;
  }
}
.o-listGNav__link--service::after {
  top: 23px;
  left: 50%;
  width: 29px;
  height: 25px;
  background-image: url(./img/svg/icon_premium_orange.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--service::after {
    top: calc(50% + 2px);
    left: 22px;
    width: 20px;
    height: 16px;
    transform: translate(0, -50%);
  }
}
.o-listGNav__link--challenger::after {
  top: 22px;
  left: 50%;
  width: 20px;
  height: 20px;
  background-image: url(./img/svg/icon_book.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--challenger::after {
    top: 50%;
    left: 21px;
    width: 22px;
    height: 23px;
    transform: translate(0, -50%);
  }
}
.o-listGNav__link--weather::after {
  top: 21px;
  left: 50%;
  width: 28px;
  height: 28px;
  background-image: url(./img/svg/icon_weather.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--weather::after {
    top: calc(50% - 2px);
    left: 21px;
    width: 22px;
    height: 21px;
    transform: translate(0, -50%);
  }
}
.o-listGNav__link--use::after {
  top: calc(50% - 1px);
  left: 13px;
  width: 34px;
  height: 34px;
  background-image: url(./img/svg/icon_use.svg);
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--use::after {
    top: 50%;
    left: 15px;
  }
}
.o-listGNav__link--freeEvent::after {
  top: calc(50% - 1px);
  left: 22px;
  width: 18px;
  height: 18px;
  background-image: url(./img/svg/icon_event_green.svg);
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--freeEvent::after {
    left: 23px;
  }
}
.o-listGNav__link--apines::after {
  top: 50%;
  left: 23px;
  width: 16px;
  height: 21px;
  background-image: url(./img/svg/icon_bell.svg);
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--apines::after {
    left: 24px;
  }
}
.o-listGNav__link--column::after {
  top: 50%;
  left: 24px;
  width: 14px;
  height: 20px;
  background-image: url(./img/svg/icon_lock_green.svg);
  transform: translateY(-50%);
}
.o-listGNav__link--movie::after {
  top: calc(50% - 10px);
  left: 21px;
  width: 20px;
  height: 20px;
  background-image: url(./img/svg/icon_movie_green.svg);
}
.o-listGNav__link--cultivationAi::after {
  top: 10px;
  left: 50%;
  width: 50px;
  height: 50px;
  background-image: url(./img/svg/icon_ai01.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--cultivationAi::after {
    top: calc(50% - 2px);
    left: 15px;
    width: 34px;
    height: 34px;
    transform: translate(0, -50%);
  }
}
.o-listGNav__link--managementAi::after {
  top: 10px;
  left: 50%;
  width: 50px;
  height: 50px;
  background-image: url(./img/svg/icon_ai02.svg);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .o-listGNav__link--managementAi::after {
    top: calc(50% - 2px);
    left: 15px;
    width: 34px;
    height: 34px;
    transform: translate(0, -50%);
  }
}
.o-listGNav__item--row .o-listGNav__link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  text-align: left;
}
.o-listGNav__link--myPage {
  position: relative;
  display: flex;
  align-items: center;
  height: 40px;
  margin: 0;
  padding: 5px 40px 5px 16px;
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
}
.o-listGNav__link--myPage:link, .o-listGNav__link--myPage:visited, .o-listGNav__link--myPage:hover {
  color: #fff;
}
.o-listGNav__link--myPage::before {
  display: block;
  width: 16px;
  height: 17px;
  margin: 0 7px 0 0;
  content: "";
  background-image: url(./img/svg/icon_human.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.o-listGNav__link--myPage::after {
  position: absolute;
  top: 50%;
  right: 20px;
  left: auto;
  display: block;
  width: 8px;
  height: 14px;
  content: "";
  background-image: url(./img/svg/icon_arrow_white.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
.o-listGNav__link--btn {
  justify-content: center;
  width: 100%;
  height: 34px;
  text-align: center;
  background: #ff861d 0% 0% no-repeat padding-box;
  border-radius: 4px;
}
.o-listGNav__link--btn::before, .o-listGNav__link--btn::after {
  display: none !important;
}

.o-listGNav__link__body {
  display: block;
  margin: 4px 0 0;
}
@media screen and (max-width: 959px) {
  .o-listGNav__link__body {
    margin: 0;
  }
}
.o-listGNav__link--myPage .o-listGNav__link__body {
  margin: 0;
}
.o-listGNav--expert .o-listGNav__link__body {
  margin: 17px 0 0 10px;
}
@media screen and (max-width: 959px) {
  .o-listGNav--expert .o-listGNav__link__body {
    margin: 0;
  }
}
.o-listGNav__link:hover .o-listGNav__link__body {
  text-decoration: underline;
}
@media screen and (max-width: 959px) {
  .o-listGNav__link:hover .o-listGNav__link__body {
    text-decoration: none;
  }
}
.o-listGNav__link--btn .o-listGNav__link__body {
  color: #fff;
}

/* ***************************
o-navLoginBtn
*************************** */
.o-navLoginBtn {
  display: block;
}

.o-navLoginBtn__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 40px;
  margin: 0 auto;
  padding: 5px;
  text-decoration: none;
  border-radius: 4px;
  border: solid 1px #ccc;
  background-color: #fff;
  box-sizing: border-box;
  cursor: pointer;
}

.o-navLoginBtn__link__txt {
  color: #333;
  font-size: 1rem;
  line-height: 1.875;
}

/* ***************************
o-listGNav
*************************** */
.o-overlay {
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
}

/* ***************************
o-menuBanner
*************************** */
.o-menuBanner {
  display: flex;
  align-items: flex-start;
}
@media screen and (min-width: 960px) {
  .o-menuBanner {
    flex-direction: column;
  }
}
@media screen and (max-width: 959px) {
  .o-menuBanner {
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 16px;
    margin-top: 10px;
  }
}

.o-menuBanner__item {
  display: flex;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.o-menuBanner__item:before {
  content: none !important;
}
.o-menuBanner__item + .o-menuBanner__item {
  margin-left: 10px;
}
@media screen and (min-width: 960px) {
  .o-menuBanner__item + .o-menuBanner__item {
    margin-left: 0;
    margin-top: 10px;
  }
}
@media screen and (max-width: 959px) {
  .o-menuBanner__item {
    margin: 0;
  }
  .o-menuBanner__item:nth-child(1), .o-menuBanner__item:nth-child(2) {
    width: calc(50% - 4px);
  }
  .o-menuBanner__item + .o-menuBanner__item {
    margin-left: 0;
  }
  .o-menuBanner__item--full {
    width: 100%;
  }
  .o-menuBanner__item--full img {
    width: 100%;
  }
}

.o-menuBanner__link {
  display: block;
  transition: opacity 0.3s;
}
.o-menuBanner__link:after {
  content: none !important;
}
.o-menuBanner__link:hover {
  opacity: 0.6;
}

/* ***************************
o-footerLinks
*************************** */
.o-footerLinks {
  margin: auto;
}

.o-footerLinks__body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -8px 0 0;
}
@media screen and (max-width: 599px) {
  .o-footerLinks__body {
    justify-content: flex-start;
  }
}

.o-footerLinks__item {
  margin: 8px 0 0;
  padding: 0;
  font-size: 87.5%;
  line-height: 129%;
  letter-spacing: -0.34em;
}
@media screen and (max-width: 599px) {
  .o-footerLinks__item {
    font-size: 85.7142857143%;
    line-height: 200%;
  }
}
.o-footerLinks__item:before {
  content: none !important;
}
.o-footerLinks__item:after {
  content: "|";
  display: inline-block;
  margin: 0 14px;
  letter-spacing: normal;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-footerLinks__item:after {
    margin: 0 7px;
  }
}
.o-footerLinks__item:last-child:after {
  content: none !important;
}

.o-footerLinks__link {
  color: #333;
  text-decoration: none;
  letter-spacing: normal;
}
.o-footerLinks__link:link, .o-footerLinks__link:visited, .o-footerLinks__link:hover {
  color: #333;
  text-decoration: none;
}
.o-footerLinks__link:hover {
  color: #333;
  text-decoration: underline;
}
.o-footerLinks__link:after {
  margin-right: 0 !important;
}

/* ***************************
o-footerText
*************************** */
.o-footerText {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1130px;
  margin: auto;
}

.o-footerText__text,
.o-footerText__copyright {
  margin: 0;
  font-size: 75%;
  line-height: 150%;
}
@media screen and (max-width: 959px) {
  .o-footerText__text,
  .o-footerText__copyright {
    width: 100%;
    text-align: center;
  }
}

@media screen and (max-width: 599px) {
  .o-footerText__text {
    font-size: 85.7142857143%;
    line-height: 134%;
  }
}

@media screen and (max-width: 599px) {
  .o-footerText__copyright {
    margin-top: 6px;
    font-size: 78.5714285714%;
    line-height: 110%;
  }
}

/* ***************************
o-mainVisual
*************************** */
@media screen and (max-width: 599px) {
  .o-mainVisual {
    margin-right: -15px;
    margin-left: -15px;
  }
}

.o-mainVisual__body {
  display: grid;
  grid-template-columns: 66.5217391304% 33.4782608696%;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "mvSlide01 mvSlide02" "mvSlide01 mvSlide03";
}
@media screen and (max-width: 599px) {
  .o-mainVisual__body {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: "mvSlide01 mvSlide01" "mvSlide02 mvSlide03";
  }
}

.o-mainVisual__item:nth-of-type(1) {
  grid-area: mvSlide01;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__item:nth-of-type(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
.o-mainVisual__item:nth-of-type(2) {
  grid-area: mvSlide02;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__item:nth-of-type(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
.o-mainVisual__item:nth-of-type(3) {
  grid-area: mvSlide03;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__item:nth-of-type(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}

.o-mainVisual__card {
  position: relative;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
}
.o-mainVisual__card:after {
  content: none !important;
}
.o-mainVisual__item:nth-of-type(1) .o-mainVisual__card {
  padding-top: 55.5555555556%;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__item:nth-of-type(1) .o-mainVisual__card {
    padding-top: 55.4666666667%;
  }
}
.o-mainVisual__item:nth-of-type(2) .o-mainVisual__card, .o-mainVisual__item:nth-of-type(3) .o-mainVisual__card {
  padding-top: 55.1948051948%;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__item:nth-of-type(2) .o-mainVisual__card, .o-mainVisual__item:nth-of-type(3) .o-mainVisual__card {
    padding-top: 55.8510638298%;
  }
}
.o-mainVisual__card img {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

/* ***************************
o-topSection
*************************** */
.o-topSection {
  position: relative;
}
@media screen and (max-width: 599px) {
  .o-topSection {
    display: flex;
    flex-direction: column;
  }
}
.o-mainVisual + .o-topSection {
  margin-top: 25px;
}
@media screen and (max-width: 599px) {
  .o-mainVisual + .o-topSection {
    margin-top: 20px;
  }
}
.o-topBnr + .o-topSection {
  margin-top: 32px;
}
@media screen and (max-width: 599px) {
  .o-topBnr + .o-topSection {
    margin-top: 30px;
  }
}
.o-topSection + .o-topSection, .o-columnList + .o-topSection {
  margin-top: 36px;
}
@media screen and (max-width: 599px) {
  .o-topSection + .o-topSection, .o-columnList + .o-topSection {
    margin-top: 27px;
  }
}
.o-topSection--under + .o-topSection--under {
  margin-top: 36px;
}
@media screen and (max-width: 599px) {
  .o-topSection--under + .o-topSection--under {
    margin-top: 28px;
  }
}
.o-topSection--ranking + .o-topSection {
  margin-top: 36px;
}
@media screen and (max-width: 599px) {
  .o-topSection--ranking + .o-topSection {
    margin-top: 45px;
  }
}
.o-stepList + .o-topSection {
  margin-top: 38px;
}
.o-catMenuList + .o-topSection {
  margin-top: 27px;
}
@media screen and (max-width: 599px) {
  .o-catMenuList + .o-topSection {
    margin-top: 45px;
  }
}
@media screen and (max-width: 599px) {
  .o-topSection--premium {
    margin: 0 -20px 0;
  }
  .o-topSection + .o-topSection--premium {
    margin: 34px -20px 0;
  }
}
.o-topSection + .o-topSection--know {
  margin-top: 41px;
}
@media screen and (max-width: 599px) {
  .o-topSection + .o-topSection--know {
    margin-top: 20px;
  }
}
@media screen and (max-width: 599px) {
  .o-topSection--know, .o-topSection + .o-topSection--connect, .o-topSection + .o-topSection--premium {
    margin: 0 -20px;
    padding: 28px 20px 0;
    background-color: #fff;
  }
}
.o-topSection--spBnr {
  display: none;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-topSection--spBnr {
    display: block;
    margin: 0 -20px 0;
    padding: 30px 0 0;
  }
}
.o-topSection + .o-topSection--spBnr {
  margin-top: 0;
}
.o-formBtnsList + .o-topSection {
  margin-top: 35px;
}

.o-topSection__head {
  margin: 0 0 20px;
}
@media screen and (max-width: 599px) {
  .o-topSection__head {
    order: 1;
    margin-bottom: 18px;
  }
  .o-topSection--news .o-topSection__head {
    margin-bottom: 23px;
  }
  .o-topSection--recommend .o-topSection__head {
    margin-bottom: 13px;
  }
}
.o-topSection__head--news {
  padding-right: 130px;
}
@media screen and (max-width: 599px) {
  .o-topSection__head--news {
    padding-right: 100px;
  }
}
.o-topSection--know .o-topSection__head, .o-topSection--connect .o-topSection__head, .o-topSection--premium .o-topSection__head {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  border-bottom: 2px solid #00997e;
}
@media screen and (max-width: 599px) {
  .o-topSection--know .o-topSection__head, .o-topSection--connect .o-topSection__head, .o-topSection--premium .o-topSection__head {
    order: inherit;
    margin-bottom: 15px;
  }
}
.o-topSection--know .o-topSection__head::after, .o-topSection--connect .o-topSection__head::after, .o-topSection--premium .o-topSection__head::after {
  display: none;
}
@media screen and (max-width: 599px) {
  .o-topSection__head--listShow {
    margin-bottom: 30px;
  }
}

.o-lv2Grid + .o-topSection {
  margin-top: 37px;
}

@media screen and (max-width: 599px) {
  .o-topSection__body {
    order: 3;
    z-index: 1;
  }
  .o-topSection--news .o-topSection__body, .o-topSection--recommend .o-topSection__body, .o-topSection--listShow .o-topSection__body, .o-topSection--series .o-topSection__body, .o-topSection--column .o-topSection__body {
    order: 2;
  }
}

@media screen and (min-width: 600px) {
  .o-topSection__moreLink {
    position: absolute;
    top: 4px;
    right: 0;
  }
  .o-topSection--news .o-topSection__moreLink, .o-topSection--column .o-topSection__moreLink {
    position: relative;
  }
}
@media screen and (max-width: 599px) {
  .o-topSection__moreLink {
    order: 2;
    display: flex;
    justify-content: flex-end;
    margin-top: -4px;
    margin-bottom: 10px;
    z-index: 2;
  }
  .o-topSection--news .o-topSection__moreLink, .o-topSection--recommend .o-topSection__moreLink, .o-topSection--listShow .o-topSection__moreLink, .o-topSection--series .o-topSection__moreLink, .o-topSection--column .o-topSection__moreLink {
    order: 3;
  }
  .o-topSection--listShow .o-topSection__moreLink {
    margin-top: 25px;
  }
  .o-topSection--recommend .o-topSection__moreLink {
    margin-top: 15px;
  }
  .o-topSection--series .o-topSection__moreLink {
    margin-top: 30px;
  }
}

/*
slide parts
--------------------------- */
.o-mainVisual__body .slick-arrow {
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  top: 0;
  bottom: 40px;
  margin: auto;
  background: url("/common/styles/img/slide_arrow.png") center center no-repeat;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  z-index: 2;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__body .slick-arrow {
    width: 20px;
    height: 20px;
    background-size: 10px 17px;
  }
}
.o-mainVisual__body .slick-arrow.slick-prev {
  left: 10px;
}
.o-mainVisual__body .slick-arrow.slick-next {
  right: 10px;
  transform: scale(-1);
}
.o-mainVisual__body .slick-list {
  z-index: 1;
}
.o-mainVisual__body .slick-dots {
  position: absolute;
  display: flex;
  justify-content: center;
  width: 100%;
  left: 0;
  bottom: 6px;
  margin: 0;
  padding: 0;
  z-index: 2;
}
.o-mainVisual__body .slick-dots li {
  margin: 0;
  padding: 0;
}
.o-mainVisual__body .slick-dots li:before {
  content: none !important;
}
.o-mainVisual__body .slick-dots li + li {
  margin-left: 6px;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__body .slick-dots li + li {
    margin-left: 2px;
  }
}
.o-mainVisual__body .slick-dots button {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__body .slick-dots button {
    width: 10px;
    height: 10px;
  }
}
.o-mainVisual__body .slick-dots button:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #999;
  border-radius: 50%;
}
@media screen and (max-width: 599px) {
  .o-mainVisual__body .slick-dots button:before {
    width: 6px;
    height: 6px;
  }
}
.o-mainVisual__body .slick-dots li.slick-active button:before {
  background: #390;
}

/* ***************************
o-topBnr
*************************** */
.o-topBnr {
  margin: 10px 0 0;
  padding: 0 0 38px;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-topBnr {
    margin: 14px -20px 0;
    padding: 8px 0 30px;
  }
}

/*
topBnrList
--------------------------- */
.o-topBnrList {
  margin: 0;
  padding: 0;
}

.o-topBnrList__item {
  margin: 0;
  padding: 0;
}
.o-topBnrList__item::before {
  display: none;
}
@media screen and (max-width: 599px) {
  .o-topBnrList__item {
    min-width: 245px !important;
  }
}
.o-topBnrList__item img {
  width: 100%;
  max-width: none;
}
@media screen and (max-width: 599px) {
  .o-topBnrList__item img {
    min-height: 134px;
  }
}
.o-topBnrList__item.is-mv {
  display: none;
}
@media screen and (max-width: 599px) {
  .o-topBnrList__item.is-mv {
    display: block;
  }
}

.splide__pagination {
  bottom: 10px;
  gap: 14px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 599px) {
  .splide__pagination {
    bottom: 8px;
    gap: 10px;
  }
}
.splide__pagination li {
  margin: 0;
  padding: 0;
}
.splide__pagination li::before {
  display: none;
}

.splide__pagination__page {
  width: 10px;
  height: 10px;
  margin: 0;
  opacity: 1;
  padding: 0;
  background: #b4b8bc;
  transition: none;
}
@media screen and (max-width: 599px) {
  .splide__pagination__page {
    width: 8px;
    height: 8px;
  }
}
.splide__pagination__page.splide__pagination__page.is-active {
  background: #339900;
  transform: none;
}

/* ***************************
o-topService
*************************** */
.o-topService {
  margin: 0 0 0;
  padding: 0 50px 37px;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-topService {
    margin: 0 0 0;
    padding: 6px 0 30px;
  }
}

.o-topService__ttl {
  display: flex;
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1.7;
  border: none;
}
@media screen and (max-width: 599px) {
  .o-topService__ttl {
    justify-content: center;
  }
}
.o-topService__ttl::before {
  display: block;
  width: 34px;
  height: 34px;
  margin: 0 12px 0 0;
  content: "";
  background-image: url("./img/svg/icon_top_premium.svg");
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-topService__ttl::after {
  display: none;
}

.o-topService__body {
  padding: 20px 0 0;
}

.o-topService__btn {
  margin-top: 35px;
}
@media screen and (max-width: 599px) {
  .o-topService__btn {
    margin-top: 24px;
  }
}

/*
topServiceList
--------------------------- */
.o-sliderArea .splide__arrow {
  top: calc(50% - 105px);
  left: -17px;
  width: 34px;
  height: 34px;
}
@media screen and (max-width: 599px) {
  .o-sliderArea .splide__arrow {
    top: calc(50% - 117px);
    left: -13px;
    width: 26px;
    height: 26px;
  }
}
.o-sliderArea .splide__arrow::before {
  display: block;
  width: 34px;
  height: 34px;
  content: "";
  background-image: url("./img/svg/icon_slider_left.svg");
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .o-sliderArea .splide__arrow::before {
    width: 26px;
    height: 26px;
  }
}
.o-sliderArea .splide__arrow svg {
  display: none;
}
.o-sliderArea .splide__arrow--next {
  left: auto;
  right: -17px;
}
@media screen and (max-width: 599px) {
  .o-sliderArea .splide__arrow--next {
    right: -13px;
  }
}
.o-sliderArea .splide__arrow--next::before {
  background-image: url("./img/svg/icon_slider_right.svg");
}

/*
topServiceList
--------------------------- */
.o-topServiceList {
  display: flex;
  margin: 0;
  padding: 0;
}
.o-topSection--premium .o-topServiceList {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}

.o-topServiceList__item {
  margin: 0;
  padding: 0;
}
.o-topServiceList__item::before {
  display: none;
}
/* 外部リンクアイコンを非表示 */
.o-topServiceList__item a[href^=http]:after,
.o-topServiceList__item a[href^="/redirect/?url=http"]:after {
  content: none !important;
  display: none !important;
}
@media screen and (max-width: 599px) {
  .o-topServiceList__item + .o-topServiceList__item {
    margin-top: 21px;
  }
}
.o-topSection--premium .o-topServiceList__item {
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  .o-topSection--premium .o-topServiceList__item {
    margin-bottom: 25px;
  }
}
.o-topSection--premium .o-topServiceList__item:last-child {
  margin-bottom: 0;
}

/*
serviceBox
--------------------------- */
.o-serviceBox {
  display: block;
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .o-serviceBox {
    display: grid;
    grid-template-columns: 32.8358208955% auto;
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 15px;
    grid-row-gap: 0px;
  }
}
.o-topSection--premium .o-serviceBox {
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
  grid-template-columns: none;
  grid-template-rows: none;
  grid-column-gap: initial;
  grid-row-gap: initial;
}
@media screen and (max-width: 599px) {
  .o-topSection--premium .o-serviceBox {
    flex-direction: column;
    gap: 15px;
  }
}
.o-topSection--premium .o-serviceBox:hover {
  opacity: 0.7;
}

.o-serviceBox__thumbnail {
  position: relative;
  padding-top: 62.6923076923%;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-serviceBox__thumbnail {
    grid-area: 1/1/3/2;
    padding: 4px 0 0;
  }
}
.o-serviceBox__thumbnail img {
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: auto;
  top: 50%;
  left: 0;
}
@media screen and (max-width: 599px) {
  .o-serviceBox__thumbnail img {
    position: relative;
    top: 0;
    transform: none;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 83px;
  }
}
.o-topSection--premium .o-serviceBox__thumbnail {
  flex-shrink: 0;
  width: 260px;
  margin-right: 15px;
  padding: 0;
  padding-top: 0;
  position: static;
  grid-area: initial;
  overflow: visible;
}
@media screen and (max-width: 599px) {
  .o-topSection--premium .o-serviceBox__thumbnail {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.o-topSection--premium .o-serviceBox__thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  position: static;
  top: 0;
  left: 0;
  transform: none;
  max-width: 100%;
}
@media screen and (max-width: 599px) {
  .o-topSection--premium .o-serviceBox__thumbnail img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.o-serviceBox__label {
  position: absolute;
  top: 16px;
  left: 0;
  padding: 1px 14px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #c72626;
  font-weight: bold;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-serviceBox__label {
    display: none;
  }
}

.o-topSection--premium .o-serviceBox__content {
  flex: 1;
}

.o-serviceBox__title {
  display: flex;
  font-size: 1.125rem;
  line-height: 1.7222222222;
  font-weight: bold;
  color: #222;
}
@media screen and (max-width: 599px) {
  .o-serviceBox__title {
    grid-area: 1/2/2/3;
    margin-top: 0;
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.o-serviceBox__title::after {
  display: block;
  width: 11px;
  height: 9px;
  margin: 10px 0 0 auto;
  content: "";
  background-image: url("./img/svg/icon_acc_arrow.svg");
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: rotate(-90deg);
}
@media screen and (max-width: 599px) {
  .o-serviceBox__title::after {
    display: none;
    width: 9px;
    height: 7px;
    margin: 8px 0 0 auto;
  }
}
.o-topSection--premium .o-serviceBox__title {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 10px 0;
  line-height: 1.4;
}
@media screen and (max-width: 599px) {
  .o-topSection--premium .o-serviceBox__title {
    font-size: 1.125rem;
    margin-bottom: 8px;
  }
}

.o-topSection--premium .o-serviceBox__price {
  font-size: 14px;
  font-weight: normal;
  margin-left: 8px;
  vertical-align: baseline;
  position: relative;
  top: 4px;
}
@media screen and (max-width: 599px) {
  .o-topSection--premium .o-serviceBox__price {
    font-size: 0.875rem;
    display: block;
    margin-left: 0;
    margin-top: 4px;
    top: 0;
  }
}

.o-serviceBox__overvieww {
  margin: 3px 0 0;
  padding: 10px 0 0;
  font-size: 1rem;
  line-height: 1.625;
  color: #222;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 599px) {
  .o-serviceBox__overvieww {
    grid-area: 2/2/3/3;
    margin: -1px 0 0;
    padding: 0 0 0;
    font-size: 0.875rem;
    line-height: 1.7142857143;
    border: none;
  }
}
.o-topSection--premium .o-serviceBox__overvieww {
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
  color: #333;
}
@media screen and (max-width: 599px) {
  .o-topSection--premium .o-serviceBox__overvieww {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

/*
newMemberBtn
--------------------------- */
.o-newMemberBtn {
  display: none;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .o-newMemberBtn {
    display: block;
  }
}
@media screen and (max-width: 599px) {
  .o-newMemberBtn img {
    width: 100%;
    max-width: none;
  }
}

/*
mvImg
--------------------------- */
.o-mvImg {
  display: block;
  margin: 0;
}
@media screen and (max-width: 599px) {
  .o-mvImg {
    display: none;
  }
  * + .o-mvImg {
    margin: 10px 0 0;
  }
}

/*
boxLinkList
--------------------------- */
.o-boxLinkList {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 599px) {
  .o-boxLinkList {
    display: block;
  }
}

.o-boxLinkList__item {
  display: flex;
  flex-direction: column;
  width: calc(50% - 5px);
}
@media screen and (max-width: 599px) {
  .o-boxLinkList__item {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .o-boxLinkList__item + .o-boxLinkList__item {
    margin-top: 12px;
  }
}

/*
boxLink
--------------------------- */
.o-boxLink {
  display: block;
  height: 100%;
  padding: 12px 20px 14px 18px;
  text-decoration: none;
  text-align: left;
  background-color: #00997e;
  border-radius: 6px;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .o-boxLink {
    min-height: 97px;
    padding: 5px 15px 9px 15px;
    box-sizing: border-box;
  }
}
.o-boxLink:hover {
  opacity: 0.8;
}
@media screen and (max-width: 599px) {
  .o-boxLink:hover {
    opacity: 1;
  }
}

.o-boxLink__ttl {
  display: flex;
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.6;
  color: #fff;
  border-bottom: 2px solid #e9eb54;
}
@media screen and (max-width: 599px) {
  .o-boxLink__ttl {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.o-boxLink__ttl::after {
  display: block;
  width: 24px;
  height: 24px;
  margin: 2px -4px 0 auto;
  padding-left: 5px;
  content: "";
  background-image: url(./img/icon_arrow_white.png);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 599px) {
  .o-boxLink__ttl::after {
    width: 18px;
    height: 18px;
    margin: 5px 0 0 auto;
    background-position: right 0;
    background-size: contain;
  }
}

.o-boxLink__body {
  padding: 10px 5px 0 0;
}
@media screen and (max-width: 599px) {
  .o-boxLink__body {
    padding: 7px 5px 0 0;
  }
}

.o-boxLink__txt {
  font-size: 1rem;
  line-height: 1.75;
  color: #fff;
}
@media screen and (max-width: 599px) {
  .o-boxLink__txt {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

/*
topPremiumHeading
--------------------------- */
.o-topPremiumHeading {
  position: relative;
  z-index: -1;
  display: flex;
  min-height: 140px;
  margin: 7px 0 0;
  padding: 21px 254px 17px 30px;
  color: #fff;
  box-sizing: border-box;
  background-color: #faf1e8;
}
@media screen and (max-width: 599px) {
  .o-topPremiumHeading {
    min-height: 118px;
    margin: 0;
    padding: 10px 0px 12px 15px;
  }
}
.o-topPremiumHeading::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  clip-path: polygon(0 0%, 803px 0%, 687px 100%, 0% 100%);
  background-color: #eb6d00;
}
@media screen and (max-width: 599px) {
  .o-topPremiumHeading::before {
    clip-path: polygon(0 0%, 303px 0%, 238px 100%, 0% 100%);
  }
}

.o-topPremiumHeading__inner {
  flex: 1;
  width: 100%;
  padding: 0;
}

.o-topPremiumHeading__label {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 5px 7px 3px;
  font-size: 1.25rem;
  line-height: 1;
  color: #c72626;
  font-weight: bold;
  background-color: #fff;
}

.o-topPremiumHeading__ttl {
  display: flex;
  margin-top: 7px;
  font-size: 1.25rem;
  line-height: 2.4;
  font-weight: bold;
  border: none;
}
@media screen and (max-width: 599px) {
  .o-topPremiumHeading__ttl {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.o-topPremiumHeading__ttl::before {
  display: block;
  width: 26px;
  height: 20px;
  margin: 9px 11px 0 0;
  content: "";
  background-image: url(./img/svg/icon_premium.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .o-topPremiumHeading__ttl::before {
    width: 13px;
    height: 10px;
    margin: 9px 8px 0 0;
  }
}

.o-topPremiumHeading__desc {
  margin-top: -1px;
  font-size: 1rem;
  line-height: 1.75;
  font-weight: normal;
}
@media screen and (max-width: 599px) {
  .o-topPremiumHeading__desc {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.o-topPremiumHeading__img {
  position: absolute;
  right: 7.9347826087%;
  bottom: 0;
}
@media screen and (max-width: 599px) {
  .o-topPremiumHeading__img {
    width: 82px;
    right: 1.3333333333%;
  }
}

/*
topSpBnrList
--------------------------- */
.o-topSpBnrList {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  margin-inline: auto;
  padding: 0;
}

.o-topSpBnrList__item {
  margin: 0;
  padding: 0;
}
.o-topSpBnrList__item::before {
  display: none;
}
.o-topSpBnrList__item + .o-topSpBnrList__item {
  margin-top: 10px;
}
.o-topSpBnrList__item a::after {
  display: none !important;
}

/* ***************************
o-breadCrumb
*************************** */
.o-breadCrumb {
  margin-top: -5px;
}
@media screen and (max-width: 599px) {
  .o-breadCrumb {
    margin-top: 0;
  }
}

/*
o-listBreadCrumb
*************************** */
.o-listBreadCrumb {
  margin: 0;
  padding: 0;
  list-style: none;
  letter-spacing: -0.34em;
}

.o-listBreadCrumb__item {
  position: relative;
  display: inline;
  margin: 0;
  padding: 0;
}
.o-listBreadCrumb__item + .o-listBreadCrumb__item {
  padding-left: 5px;
}
.o-listBreadCrumb__item + .o-listBreadCrumb__item:before {
  position: relative;
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  margin: -2px 11px 0 0;
  border-top: 1px solid #888;
  border-right: 1px solid #888;
  vertical-align: middle;
  transform: rotate(45deg);
}
@media screen and (max-width: 599px) {
  .o-listBreadCrumb__item + .o-listBreadCrumb__item:before {
    margin: 0 10px 0 0px;
  }
}
.o-listBreadCrumb__item span {
  font-size: 0.75rem;
  line-height: 1.6666666667;
  letter-spacing: normal;
}

.o-listBreadCrumb__item__link {
  color: #333;
  text-decoration: none;
  cursor: pointer;
}
.o-listBreadCrumb__item__link:link, .o-listBreadCrumb__item__link:visited, .o-listBreadCrumb__item__link:hover {
  color: #333;
  text-decoration: none;
}
.o-listBreadCrumb__item__link:hover {
  text-decoration: underline;
}
.o-listBreadCrumb__item:first-child .o-listBreadCrumb__item__link {
  display: inline-block;
  font-size: 0;
  line-height: 0;
  margin-top: -4px;
  padding: 0 1px 0 2px;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-listBreadCrumb__item:first-child .o-listBreadCrumb__item__link {
    margin-top: -2px;
  }
}
.o-listBreadCrumb__item:first-child .o-listBreadCrumb__item__link:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: url("./img/icon_breadCrumb_home.png");
  background-size: contain;
}
.o-listBreadCrumb__item:first-child .o-listBreadCrumb__item__link span {
  font-size: 0;
  line-height: 0;
}

/* ***************************
o-pageTitle
*************************** */
.o-pageTitle {
  position: relative;
  padding: 10px 10px 8px 42px;
  background: #390;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-pageTitle {
    padding: 12px 10px 9px 41px;
  }
}
.o-pageTitle:before {
  position: absolute;
  content: "";
  display: block;
  width: 6px;
  height: calc(100% - 26px);
  top: 0;
  bottom: 0;
  left: 18px;
  margin: auto;
  background: #e7ec54;
  border-radius: 3px;
}
@media screen and (max-width: 599px) {
  .o-pageTitle:before {
    width: 5px;
    height: calc(100% - 25px);
    left: 18px;
  }
}
* + .o-pageTitle {
  margin-top: 10px;
}

.o-pageTitle__label {
  display: inline-block;
  padding: 7px 12px;
  margin: -4px 0 0 10px;
  background: #d1b203;
  font-size: 57.1428571429%;
  line-height: 100%;
  color: #fff;
  border-radius: 5px;
  box-sizing: border-box;
  vertical-align: middle;
  text-align: center;
}

/* ***************************
o-article
*************************** */
.o-article {
  overflow: hidden;
}
.o-article p {
  min-height: 1.75em;
}

.o-article__body {
  padding: 25px 20px 30px;
  background: #fff;
  border-radius: 8px;
}
* + .o-article__body {
  margin-top: 20px;
}

@media screen and (max-width: 599px) {
  .o-article__body {
    padding: 20px 16px 30px;
  }
}

.o-article__ttl {
  position: relative;
  margin: 0;
  padding: 0 0 17px;
  font-size: 125%;
  line-height: 150%;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-article__ttl {
    font-size: 142.8571428571%;
    line-height: 150%;
  }
}
* + .o-article__ttl {
  margin-top: 18px;
}

.o-article__ttl:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, transparent 0, transparent 1px, #999 1px, #999 6px) right center repeat;
  background-size: 6px 1px;
}

.o-article__info {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
* + .o-article__info {
  margin-top: 25px;
}

.o-article__content ~ .o-article__info {
  margin-top: 30px;
}
.o-article__info + .o-article__info {
  margin-top: 14px;
}

.o-article__info__date:not(.o-article__info__date--right) {
  margin-right: auto;
}
@media screen and (max-width: 599px) {
  .o-article__info__date:not(.o-article__info__date--right) {
    width: 100%;
    order: 1;
  }
}
.o-article__info__date--right {
  margin-left: auto;
}

.o-article__info__btn,
.o-article__info__fav,
.o-article__info__share {
  align-self: center;
  height: 28px;
  margin-left: 8px;
}
@media screen and (max-width: 599px) {
  .o-article__info__btn,
  .o-article__info__fav,
  .o-article__info__share {
    margin-bottom: 12px;
  }
}

@media screen and (max-width: 599px) {
  .o-article__info__btn {
    display: none;
  }
}

.o-article__info__share iframe {
  vertical-align: middle;
}

.o-article__info__favorite {
  margin-left: 8px;
}

.o-article__content {
  padding-top: 5px;
}
* + .o-article__content {
  margin-top: 15px;
  padding-top: 0;
}
@media screen and (max-width: 599px) {
  .o-article--column * + .o-article__content {
    margin-top: 0;
  }
}

.o-article__movie + .o-article__content {
  margin-top: 41px;
}
@media screen and (max-width: 599px) {
  .o-article__movie + .o-article__content {
    margin-top: 31px;
  }
}

* + .o-article__noMember {
  margin-top: 40px;
}

* + .o-article__author {
  margin-top: 46px;
}

* + .o-article__footer {
  margin-top: 35px;
}

* + .o-article__bottom {
  margin-top: 36px;
}

/* ***************************
o-dateLabel
*************************** */
.o-dateLabel {
  display: flex;
  align-items: center;
}

.o-dateLabel__label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 24px;
  margin-right: 12px;
  padding: 0 5px;
  background: #339900;
  font-size: 87.5%;
  line-height: 100%;
  color: #fff;
  box-sizing: border-box;
}

.o-dateLabel__date {
  margin: 0;
  font-size: 87.5%;
  line-height: 100%;
}

/* ***************************
o-authorBox
*************************** */
.o-authorBox {
  padding: 17px 19px 13px;
  border: 1px solid #989898;
  border-radius: 5px;
}
@media screen and (max-width: 599px) {
  .o-authorBox {
    padding: 16px 15px 11px;
  }
}

.o-authorBox__name {
  font-size: 87.5%;
  line-height: 129%;
  font-weight: bold;
}
.o-authorBox__name a {
  color: #333;
}
.o-authorBox__name a:link, .o-authorBox__name a:visited, .o-authorBox__name a:hover {
  color: #333;
}

.o-authorBox__profile {
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
* + .o-authorBox__profile {
  margin-top: 3px;
}

* + .o-authorBox__link {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  * + .o-authorBox__link {
    margin-top: 19px;
  }
}
* + .o-authorBox__link::before {
  margin: -2px 9px 0 -20px;
}

.o-authorBox__link a {
  position: relative;
  padding-left: 18px;
  font-size: 87.5%;
  line-height: 129%;
  color: #333;
  text-decoration: none;
}
.o-authorBox__link a:link, .o-authorBox__link a:visited {
  color: #333;
  text-decoration: none;
}
.o-authorBox__link a:hover {
  color: #333;
  text-decoration: underline;
}
.o-authorBox__link a:before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: -2px 14px 0 -20px;
  border-top: 2px solid #390;
  border-right: 2px solid #390;
  vertical-align: middle;
  transform: rotate(45deg);
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-authorBox__link a:before {
    margin: -2px 8px 0 -20px;
  }
}

/* ***************************
o-relationBox
*************************** */
* + .o-relationBox {
  margin-top: 36px;
}

.o-relationBox__ttl {
  margin: 0;
}

.o-relationList__item {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 61px;
  margin: 0;
  padding: 13px 10px 13px 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-relationList__item {
    padding: 13px 0 11px;
  }
}
.o-relationList__item:before {
  content: none !important;
}
.o-relationList__item:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAACCAYAAABsfz2XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkNENUFDQjZGMzhBMTFFODlEOTlGQjA5MTFGRUZBMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkNENUFDQjdGMzhBMTFFODlEOTlGQjA5MTFGRUZBMTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGQ0Q1QUNCNEYzOEExMUU4OUQ5OUZCMDkxMUZFRkExMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGQ0Q1QUNCNUYzOEExMUU4OUQ5OUZCMDkxMUZFRkExMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqE6CTgAAAAcSURBVHjaYpw5c+Z/BiJAWloaI4hmYiARAAQYAE4dBAEgxutCAAAAAElFTkSuQmCC") left top repeat;
  background-size: 6px 1px;
}

/*
o-relationLink
*************************** */
.o-relationLink {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}

.o-relationLink__label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 107px;
  min-height: 20px;
  margin-right: 20px;
  padding: 2px 5px;
  background: #390;
  font-size: 75%;
  line-height: 100%;
  color: #fff;
  box-sizing: border-box;
}

.o-relationLink__ttl {
  width: calc(100% - 127px);
  margin: -3px 0 0;
  padding: 0;
  border: none;
  font-size: 87.5%;
  line-height: 172%;
  font-weight: normal;
}
@media screen and (max-width: 599px) {
  .o-relationLink__ttl {
    width: 100%;
  }
  * + .o-relationLink__ttl {
    margin-top: 4px;
  }
}
.o-relationLink__ttl:before {
  content: none !important;
}
.o-relationLink__ttl a {
  color: #333;
  text-decoration: none;
}
.o-relationLink__ttl a:link, .o-relationLink__ttl a:visited {
  color: #333;
  text-decoration: none;
}
.o-relationLink__ttl a:hover {
  color: #333;
  text-decoration: underline;
}

/* ***************************
o-postLink
*************************** */
* + .o-postLink {
  margin-top: 20px;
}

.o-postLink__body {
  display: flex;
  flex-wrap: wrap;
}

.o-postLink__item {
  position: relative;
  width: 50%;
  margin: 0;
  padding: 0;
  background: #fff;
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (max-width: 599px) {
  .o-postLink__item {
    width: 100%;
  }
}
.o-postLink__item:before {
  content: none !important;
}
.o-postLink__item--prev {
  border-radius: 5px 0 0 5px;
}
@media screen and (max-width: 599px) {
  .o-postLink__item--prev {
    border-radius: 5px;
  }
}
.o-postLink__item--next {
  margin-left: auto;
  border-radius: 0 5px 5px 0;
}
@media screen and (max-width: 599px) {
  .o-postLink__item--next {
    border-radius: 5px;
  }
}
.o-postLink__item--prev + .o-postLink__item--next {
  padding-left: 1px;
}
@media screen and (max-width: 599px) {
  .o-postLink__item--prev + .o-postLink__item--next {
    margin-top: 6px;
  }
}
.o-postLink__item--prev + .o-postLink__item--next:after {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 30px);
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #999;
}
@media screen and (max-width: 599px) {
  .o-postLink__item--prev + .o-postLink__item--next:after {
    content: none !important;
  }
}

.o-postLink__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #333;
  text-decoration: none;
  overflow: hidden;
  box-sizing: border-box;
}
.o-postLink__link:link, .o-postLink__link:visited {
  color: #333;
  text-decoration: none;
}
.o-postLink__link:hover {
  background-color: #390;
  color: #fff;
}
.o-postLink__item--prev .o-postLink__link {
  padding: 12px 26px 10px 39px;
}
@media screen and (max-width: 599px) {
  .o-postLink__item--prev .o-postLink__link {
    padding: 11px 6px 11px 39px;
  }
}

.o-postLink__item--next .o-postLink__link {
  padding: 12px 45px 10px 15px;
}
@media screen and (max-width: 599px) {
  .o-postLink__item--next .o-postLink__link {
    padding: 11px 31px 11px 13px;
  }
}

.o-postLink__link:before, .o-postLink__link:after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  bottom: 0;
  margin: auto;
}
.o-postLink__link:before {
  position: absolute;
  content: "";
  display: block;
  width: 24px;
  height: 100%;
  background: #390;
}
.o-postLink__item--prev .o-postLink__link:before {
  left: 0;
}

.o-postLink__item--next .o-postLink__link:before {
  right: 0;
}

.o-postLink__link:after {
  position: absolute;
  content: "";
  display: block;
  width: 6px;
  height: 10px;
  background: url("./img/svg/icon_right_arrow.svg") 0 0 no-repeat;
  background-size: cover;
}
.o-postLink__item--prev .o-postLink__link:after {
  left: 8px;
  transform: scale(-1);
}

.o-postLink__item--next .o-postLink__link:after {
  right: 8px;
}

/* ***************************
o-noMemberBox
*************************** */
.o-noMemberBox__ttl {
  position: relative;
  margin: 0 0 16px;
  padding: 5px 0 7px 15px;
  border: solid #999;
  border-width: 1px 0;
  font-size: 125%;
  line-height: 140%;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-noMemberBox__ttl {
    margin-bottom: 10px;
    padding: 6px 0 7px 13px;
    font-size: 142.8571428571%;
    line-height: 130%;
  }
}
* + .o-noMemberBox__ttl {
  margin-top: 25px;
}
@media screen and (max-width: 599px) {
  * + .o-noMemberBox__ttl {
    margin-top: 20px;
  }
}

* + .o-noMemberBox__desc {
  margin-top: 30px;
}

/* ***************************
o-imgModal
*************************** */
.o-imgModal {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0 0 30px;
  vertical-align: top;
}
.o-imgModal:before {
  position: absolute;
  content: "";
  display: block;
  width: 84px;
  height: 21px;
  right: 0;
  bottom: 5px;
  background: url("./img/icon_modal.png") left center no-repeat;
  background-size: 84px 21px;
}
.o-imgModal:after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}
.o-imgModal--left, .o-imgModal--center, .o-imgModal--right {
  display: block;
}
.o-imgModal--left {
  float: left;
  margin: 0 20px 0 0;
}
.o-imgModal--center {
  margin: 0 auto;
}
.o-imgModal--right {
  float: right;
  margin: 0 0 0 20px;
}

.o-favorite {
  display: flex;
  align-items: center;
  width: 116px;
  height: 28px;
  margin: 0;
  padding: 0 0 0 13px;
  border-radius: 4px;
  border: solid 1px #ccc;
  background-color: #fff;
  cursor: pointer;
}
.o-favorite::before {
  display: inline-block;
  width: 15px;
  height: 14px;
  margin: 0 4px 0 0;
  content: "";
  background-image: url("./img/svg/icon_star.svg");
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-favorite.is-active, .o-favorite:hover {
  border: solid 1px #ff861d;
}
.o-favorite.is-active::before, .o-favorite:hover::before {
  background-image: url("./img/svg/icon_star_active.svg");
}

.o-favorite__txt {
  font-size: 0.875rem;
  line-height: 1;
  color: #666;
}
.o-favorite.is-active .o-favorite__txt, .o-favorite:hover .o-favorite__txt {
  color: #ff861d;
}

.o-contentsLead {
  font-size: 1rem;
  line-height: 1.75;
}

* + figure {
  margin-top: 17px;
}

.o-movieList {
  display: flex;
  flex-wrap: wrap;
  gap: 39px 20px;
}
@media screen and (max-width: 599px) {
  .o-movieList {
    display: block;
    gap: 0;
  }
}

.o-movieList__item {
  width: calc(50% - 10px);
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-movieList__item {
    width: 100%;
  }
  .o-movieList__item + .o-movieList__item {
    margin-top: 29px;
    padding-top: 28px;
    border-top: solid 1px #ccc;
  }
}

.o-movieCard {
  display: flex;
}

.o-movieCard__img {
  width: 46.511627907%;
}
@media screen and (max-width: 599px) {
  .o-movieCard__img {
    width: 44.0251572327%;
  }
}

.o-movieCard__link {
  position: relative;
  display: block;
  padding-top: 62%;
  background: #fff;
  overflow: hidden;
}
.o-movieCard__link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.45);
}
.o-movieCard__link::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  width: 38px;
  height: 38px;
  content: "";
  background-image: url(./img/svg/icon_movie.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 599px) {
  .o-movieCard__link::after {
    width: 26px;
    height: 26px;
  }
}
.o-movieCard__link img {
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transition: transform 0.4s ease-in-out;
  transform: scale(1) translateY(-50%);
  transform-origin: center center;
}
.o-movieCard__img:hover .o-movieCard__link img {
  transform: scale(1.15) translateY(-50%);
}

.o-movieCard__ttl {
  width: 50.2325581395%;
  margin-top: 5px;
  margin-left: 14px;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 599px) {
  .o-movieCard__ttl {
    width: 51.572327044%;
    margin-top: 2px;
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}

.o-movieInfo {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 25px;
  margin-top: 14px;
}
@media screen and (max-width: 599px) {
  .o-movieInfo {
    margin-top: 13px;
  }
}
.o-movieImgBox .o-movieInfo {
  justify-content: flex-end;
}
@media screen and (max-width: 599px) {
  .o-movieImgBox .o-movieInfo {
    margin-top: 11px;
  }
}

.o-movieTex {
  margin-top: 20px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}
@media screen and (max-width: 599px) {
  .o-movieTex {
    margin-top: 25px;
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}

.o-action {
  display: flex;
  align-items: center;
}

.o-action__icon {
  flex-shrink: 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-action--solution .o-action__icon {
  background-image: url("./img/svg/icon_good.svg");
}
.o-action--learning .o-action__icon {
  background-image: url("./img/svg/icon_light.svg");
}
.o-action--solution.o-action--active .o-action__icon {
  background-image: url("./img/svg/icon_good_active.svg");
}
.o-action--learning.o-action--active .o-action__icon {
  background-image: url("./img/svg/icon_light_active.svg");
}

.o-action__txt {
  margin-left: 4px;
  font-weight: bold;
  font-size: 0.75rem;
  line-height: 1.8333333333;
}

.o-action__num {
  margin-left: 10px;
  color: #7c7c7c;
  font-size: 0.75rem;
  line-height: 1.8333333333;
}

.o-movieImgBox {
  display: block;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.o-movieImg {
  position: relative;
  display: block;
  padding-top: 61.6666666667%;
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 599px) {
  .o-movieImg {
    padding-top: 62.2641509434%;
  }
}
.o-movieImg::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.45);
}
.o-movieImg::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  width: 60px;
  height: 60px;
  content: "";
  background-image: url(./img/svg/icon_movie.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
}
.o-movieImg img {
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transition: transform 0.4s ease-in-out;
  transform: scale(1) translateY(-50%);
  transform-origin: center center;
}
.o-movieImg:hover img {
  transform: scale(1.15) translateY(-50%);
}

.o-movieTitle {
  margin: 20px 0 21px;
}
@media screen and (max-width: 599px) {
  .o-movieTitle {
    margin: 19px 0 19px;
  }
}

.o-movieTitle__main {
  display: block;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.75;
}
@media screen and (max-width: 599px) {
  .o-movieTitle__main {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.o-movieTitle__name {
  display: block;
  margin-top: 4px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  color: #666;
}
@media screen and (max-width: 599px) {
  .o-movieTitle__name {
    margin-top: 0;
    font-size: 0.875rem;
    line-height: 2;
  }
}

/* ***************************
o-themeHeading
*************************** */
[class^=o-themeHeading--] {
  position: relative;
  display: flex;
  margin: 0 0 40px;
  padding: 13px 47px 12px 38px;
  background: #007799;
  color: #fff;
  box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  [class^=o-themeHeading--] {
    margin: 0 -15px 40px;
  }
}
@media screen and (max-width: 599px) {
  [class^=o-themeHeading--] {
    margin-bottom: 25px;
    padding: 13px 20px 12px 15px;
  }
}
[class^=o-themeHeading--]:before {
  content: "";
  align-self: center;
  display: block;
  width: 160px;
  height: 160px;
  margin-right: 55px;
  background: left top no-repeat;
  background-size: 160px 160px;
}
@media screen and (max-width: 599px) {
  [class^=o-themeHeading--]:before {
    width: 80px;
    height: 80px;
    margin-right: 20px;
    background-size: 80px 80px;
  }
}

.o-themeHeading--management, .o-themeHeading--financial, .o-themeHeading--tax, .o-themeHeading--legal, .o-themeHeading--labor, .o-themeHeading--processing, .o-themeHeading--production, .o-themeHeading--information, .o-themeHeading--consultation {
  background: #007799;
}
.o-themeHeading--management:before {
  background-image: url("./img/icon_category/management.png");
}
.o-themeHeading--financial:before {
  background-image: url("./img/icon_category/financial.png");
}
.o-themeHeading--tax:before {
  background-image: url("./img/icon_category/tax.png");
}
.o-themeHeading--legal:before {
  background-image: url("./img/icon_category/legal.png");
}
.o-themeHeading--labor:before {
  background-image: url("./img/icon_category/labor.png");
}
.o-themeHeading--processing:before {
  background-image: url("./img/icon_category/processing.png");
}
.o-themeHeading--production:before {
  background-image: url("./img/icon_category/production.png");
}
.o-themeHeading--information:before {
  background-image: url("./img/icon_category/information.png");
}
.o-themeHeading--consultation:before {
  background-image: url("./img/icon_category/adoption.png");
}
.o-themeHeading--training:before {
  background-image: url("./img/icon_category/training.png");
}
.o-themeHeading--column, .o-themeHeading--faq, .o-themeHeading--consult, .o-themeHeading--solution, .o-themeHeading--knowledge, .o-themeHeading--howto {
  background: #00997e;
}
.o-themeHeading--column:before {
  background-image: url("./img/icon_category/column.png");
}
.o-themeHeading--faq:before {
  background-image: url("./img/icon_category/faq.png");
}
.o-themeHeading--consult:before {
  background-image: url("./img/icon_category/consult.png");
}
.o-themeHeading--solution:before {
  background-image: url("./img/icon_category/solution.png");
}
.o-themeHeading--knowledge:before {
  background-image: url("./img/icon_category/knowledge.png");
}
.o-themeHeading--howto:before {
  background-image: url("./img/icon_category/howto.png");
}
.o-themeHeading--premium, .o-themeHeading--expertPremium {
  min-height: 200px;
  margin: 7px 0 0;
  padding: 39px 254px 17px 20px;
  background-image: url(./img/premium_bg.png);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 959px) {
  .o-themeHeading--premium, .o-themeHeading--expertPremium {
    margin: 7px 0 0;
  }
}
@media screen and (max-width: 599px) {
  .o-themeHeading--premium, .o-themeHeading--expertPremium {
    margin: 10px -20px 0;
    padding: 24px 20px 0;
    min-height: 472px;
    background-image: url(./img/premium_bg_sp.png);
  }
}
.o-themeHeading--premium::before, .o-themeHeading--expertPremium::before {
  display: none;
}
.o-themeHeading--expertPremium {
  background-image: url(./img/expert_premium_bg.png);
}
@media screen and (max-width: 599px) {
  .o-themeHeading--expertPremium {
    background-image: url(./img/expert_premium_bg_sp.png);
  }
}

.o-themeHeading__inner {
  flex: 1 0 0;
  width: calc(100% - 215px);
  padding: 9px 0;
}
@media screen and (max-width: 599px) {
  .o-themeHeading__inner {
    width: calc(100% - 100px);
    padding: 4px 0;
  }
}
.o-themeHeading--premium .o-themeHeading__inner, .o-themeHeading--expertPremium .o-themeHeading__inner {
  flex: 1;
  width: 100%;
  padding: 0;
}

.o-themeHeading__label {
  display: flex;
  gap: 0 8px;
}

.o-headingLabel {
  display: flex;
  margin: 0;
  padding: 2px 13px 0;
  font-size: 87.5%;
  line-height: 172%;
  color: #006c8e;
  font-weight: bold;
  background-color: #fff;
}
.o-headingLabel--red {
  color: #c72626;
}

.o-themeHeading__ttl {
  font-size: 187.5%;
  line-height: 160%;
  font-weight: bold;
  border-bottom: 3px solid #e9eb54;
}
@media screen and (max-width: 599px) {
  .o-themeHeading__ttl {
    border-bottom-width: 2px;
    font-size: 178.5714285714%;
    line-height: 120%;
  }
}
.o-themeHeading--premium .o-themeHeading__ttl, .o-themeHeading--expertPremium .o-themeHeading__ttl {
  border: none;
}
@media screen and (max-width: 599px) {
  .o-themeHeading--premium .o-themeHeading__ttl, .o-themeHeading--expertPremium .o-themeHeading__ttl {
    font-size: 1.625rem;
    line-height: 1.3076923077;
  }
}
.o-themeHeading__ttl--premium {
  display: flex;
}
.o-themeHeading__ttl--premium::before {
  display: block;
  width: 33px;
  height: 26px;
  margin: 9px 11px 0 0;
  content: "";
  background-image: url(./img/svg/icon_premium.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .o-themeHeading__ttl--premium::before {
    width: 22px;
    height: 18px;
    margin: 7px 8px 0 2px;
  }
}
.o-themeHeading__label + .o-themeHeading__ttl {
  margin-top: 10px;
}
@media screen and (max-width: 599px) {
  .o-themeHeading__label + .o-themeHeading__ttl {
    margin-top: 14px;
  }
}

.o-themeHeading__desc {
  font-size: 100%;
  line-height: 175%;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-themeHeading__desc {
    font-size: 107.1428571429%;
    line-height: 140%;
  }
}
* + .o-themeHeading__desc {
  margin-top: 18px;
}
@media screen and (max-width: 599px) {
  * + .o-themeHeading__desc {
    margin-top: 12px;
  }
}

@media screen and (max-width: 599px) {
  .o-themeHeading__desc br {
    display: none;
  }
}
.o-themeHeading--premium .o-themeHeading__desc, .o-themeHeading--expertPremium .o-themeHeading__desc {
  margin-top: 2px;
  font-weight: normal;
}
@media screen and (max-width: 599px) {
  .o-themeHeading--premium .o-themeHeading__desc, .o-themeHeading--expertPremium .o-themeHeading__desc {
    margin-top: 10px;
    font-size: 1rem;
    line-height: 1.625;
  }
}
.o-themeHeading--premium .o-themeHeading__desc br, .o-themeHeading--expertPremium .o-themeHeading__desc br {
  display: block;
}

.o-themeHeading__price {
  margin: 0;
  text-align: left;
}
@media screen and (max-width: 599px) {
  .o-themeHeading__price {
    margin: -4px 0 0;
    font-size: 0.875rem;
    line-height: 2;
  }
}

.o-themeHeading__price--keieiAssist {
  margin: 0 160px 0 0;
  text-align: left;
}

@media screen and (max-width: 599px) {
  .o-themeHeading__price--keieiAssist {
    margin: -4px 0 0;
    font-size: 0.875rem;
    line-height: 2;
  }
}
.o-themeHeading__img {
  position: absolute;
  right: 4.347826087%;
  bottom: 0;
}
@media screen and (max-width: 599px) {
  .o-themeHeading__img {
    position: relative;
    right: auto;
    display: block;
    margin: 20px 0 0;
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  .o-themeHeading__img img {
    width: 320px;
  }
}
@media screen and (max-width: 599px) {
  .o-themeHeading--premium .o-themeHeading__img {
    margin: 22px 0 0;
  }
}
@media screen and (max-width: 599px) {
  .o-themeHeading__price + .o-themeHeading__img {
    margin: 13px 0 0;
  }
}

.o-themeHeading__limited {
  position: relative;
  display: inline-block;
  padding: 3px 20px 3px 45px;
  background: #fff;
  color: #333;
  font-weight: bold;
  border-radius: 5px;
}
* + .o-themeHeading__limited {
  margin-top: 6px;
}

.o-themeHeading__limited:before {
  position: absolute;
  content: "";
  display: block;
  width: 17px;
  height: 20px;
  top: 5px;
  left: 20px;
  background: url("./img/icon_limited.png") left top no-repeat;
  background-size: contain;
}

/* ***************************
o-themeIndexList
*************************** */
* + .o-themeIndexList {
  margin-top: 20px;
}

.o-themeIndexList__body {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -10px 0;
  padding: 0;
}

.o-themeIndexList__item {
  width: 50%;
  margin: 10px 0 0;
  padding: 0 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-themeIndexList__item {
    width: 100%;
  }
}
.o-themeIndexList__item:before {
  content: none !important;
}

/*
o-themeIndex
*************************** */
.o-themeIndex {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border: 3px solid #390;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  border-radius: 10px;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-themeIndex {
    border-width: 2px;
    border-radius: 5px;
  }
}
.o-themeIndex:link, .o-themeIndex:visited, .o-themeIndex:hover {
  color: #333;
  text-decoration: none;
}
.o-themeIndex:hover {
  background: #f0faea;
}
.o-themeIndex:after {
  position: absolute;
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  background: url("./img/icon_circle_arrow_large.png") 0 0 no-repeat;
  background-size: 100% 500%;
}
@media screen and (max-width: 599px) {
  .o-themeIndex:after {
    width: 21px;
    height: 21px;
    right: 15px;
  }
}

.o-themeIndex__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  height: 100%;
  min-height: 100px;
  padding: 10px 55px 10px 104px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-themeIndex__inner {
    min-height: 80px;
    padding: 5px 50px 5px 80px;
  }
}

.o-themeIndex__ttl {
  width: 100%;
  font-size: 112.5%;
  line-height: 134%;
  color: #390;
}
@media screen and (max-width: 599px) {
  .o-themeIndex__ttl {
    font-size: 114.2857142857%;
    line-height: 138%;
  }
}

.o-themeIndex__desc {
  width: 100%;
  font-size: 87.5%;
  line-height: 172%;
}
@media screen and (max-width: 599px) {
  .o-themeIndex__desc {
    font-size: 100%;
    line-height: 143%;
  }
}
* + .o-themeIndex__desc {
  margin-top: 6px;
}
@media screen and (max-width: 599px) {
  * + .o-themeIndex__desc {
    margin-top: 4px;
  }
}

.o-themeIndex__img {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 104px;
  height: 100%;
  left: 0;
  top: 0;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-themeIndex__img {
    width: 80px;
  }
}
.o-themeIndex__img img {
  max-width: none;
  transform: scale(0.5);
  transform-origin: center center;
}
@media screen and (max-width: 599px) {
  .o-themeIndex__img img {
    max-width: 90px;
  }
}

/* ***************************
o-catList
*************************** */
* + .o-catList {
  margin-top: 20px;
}

.o-catList__body {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
  padding: 0;
}

.o-catList__item {
  width: 50%;
  margin: 10px 0 0;
  padding: 0 5px;
  box-sizing: border-box;
}
.o-catList__item:before {
  content: none !important;
}

.o-catList__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  box-sizing: border-box;
  padding: 8px 20px 6px;
  background: #fff;
  border: solid 2px #390;
  border-radius: 5px;
  font-size: 87.5%;
  line-height: 158%;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  text-align: center;
}
.o-catList__btn:link, .o-catList__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-catList__btn:hover {
  background-color: #390;
  color: #fff;
}
@media screen and (max-width: 599px) {
  .o-catList__btn {
    padding: 5px 5px 3px;
  }
}

.o-catMenuList {
  margin: 0;
}
* + .o-catMenuList {
  margin-top: 11px;
}
@media screen and (max-width: 599px) {
  * + .o-catMenuList {
    margin-top: 23px;
  }
}

.o-catMenuList__body {
  display: flex;
  flex-wrap: wrap;
  margin: -12px -6px 0;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-catMenuList__body {
    margin: -10px -5px 0;
  }
}

.o-catMenuList__item {
  width: 25%;
  margin: 0;
  padding: 12px 6px 0;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-catMenuList__item {
    width: 50%;
    padding: 10px 5px 0;
  }
}
.o-catMenuList__item::before {
  display: none;
}

.o-catBox {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 7px 16px 7px 15px;
  border: solid 1px #d1b203;
  border-radius: 4px;
  box-sizing: border-box;
  text-decoration: none;
}
.o-catBox:hover {
  opacity: 0.8;
}
@media screen and (max-width: 599px) {
  .o-catBox {
    padding: 7px 10px 7px 11px;
  }
}

.o-catBox__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-right: 10px;
  background-color: #d1b203;
  border-radius: 16px;
}
@media screen and (max-width: 599px) {
  .o-catBox__icon {
    margin-right: 7px;
  }
}
.o-catBox__icon::before {
  display: block;
  width: 19px;
  height: 20px;
  content: "";
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.o-catBox--management .o-catBox__icon::before {
  width: 18px;
  height: 18px;
  background-image: url(./img/svg/icon_menu01_white.svg);
}
.o-catBox--financial .o-catBox__icon::before {
  width: 19px;
  height: 20px;
  margin-left: 2px;
  background-image: url(./img/svg/icon_menu02_white.svg);
}
.o-catBox--legal .o-catBox__icon::before {
  width: 20px;
  height: 20px;
  margin-left: 1px;
  background-image: url(./img/svg/icon_menu03_white.svg);
}
.o-catBox--labor .o-catBox__icon::before {
  width: 27px;
  height: 16px;
  margin: 2px 0 0 2px;
  background-image: url(./img/svg/icon_menu04_white.svg);
}
.o-catBox--processing .o-catBox__icon::before {
  width: 22px;
  height: 22px;
  margin: 4px 0 0 0;
  background-image: url(./img/svg/icon_menu05_white.svg);
}
.o-catBox--production .o-catBox__icon::before {
  width: 18px;
  height: 20px;
  background-image: url(./img/svg/icon_menu06_white.svg);
}
.o-catBox--information .o-catBox__icon::before {
  width: 20px;
  height: 20px;
  background-image: url(./img/svg/icon_menu07_white.svg);
}
.o-catBox--farming .o-catBox__icon::before {
  width: 21px;
  height: 24px;
  margin: 2px 0 0 2px;
  background-image: url(./img/svg/icon_menu08_white.svg);
}

.o-catBox__txt {
  font-weight: bold;
  font-size: 0.9375rem;
  line-height: 1.7333333333;
  color: #333;
}

/* ***************************
o-lv2Grid
*************************** */
* + .o-lv2Grid {
  margin-top: 40px;
}
@media screen and (max-width: 599px) {
  * + .o-lv2Grid {
    margin-top: 30px;
  }
}

.o-lv2Grid__body {
  display: flex;
  flex-wrap: wrap;
  margin: -40px -10px 0;
  padding: 0;
}
@media screen and (max-width: 599px) {
  .o-lv2Grid__body {
    margin-top: -30px;
  }
}

.o-lv2Grid__item--width12, .o-lv2Grid__item--width6 {
  margin: 40px 0 0;
  padding: 0 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-lv2Grid__item--width12, .o-lv2Grid__item--width6 {
    margin-top: 30px;
  }
}

.o-lv2Grid__item--width6 {
  width: 50%;
}
@media screen and (max-width: 599px) {
  .o-lv2Grid__item--width6 {
    width: 100%;
  }
}
.o-lv2Grid__item--width12 {
  width: 100%;
}
@media screen and (max-width: 599px) {
  .o-lv2Grid__item--width12 {
    width: 100%;
  }
}

/*
o-lv2Item
*************************** */
.o-lv2Item {
  position: relative;
}

.o-lv2Item__head {
  position: relative;
}

.o-lv2Item__head__text {
  position: relative;
  margin: 0 0 15px 65px;
  padding: 8px 130px 12px 0;
  background: linear-gradient(to top, transparent 7px, #7bc058 7px, #7bc058 10px, transparent 10px);
  border: none;
  font-size: 125%;
  line-height: 140%;
}
@media screen and (max-width: 599px) {
  .o-lv2Item__head__text {
    margin-left: 50px;
    padding: 5px 0 11px;
    background: linear-gradient(to top, transparent 7px, #7bc058 7px, #7bc058 9px, transparent 9px);
    font-size: 114.2857142857%;
    line-height: 150%;
  }
}
.o-lv2Item__head__text:before {
  position: absolute;
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  top: 0;
  left: -65px;
  background: left top no-repeat;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 599px) {
  .o-lv2Item__head__text:before {
    width: 40px;
    height: 40px;
    left: -50px;
    border-radius: 2.5px;
  }
}
.o-lv2Item__head__text:after {
  position: absolute;
  content: "";
  display: block;
  width: 110px;
  height: 3px;
  left: 0;
  bottom: 7px;
  background: #390;
}
@media screen and (max-width: 599px) {
  .o-lv2Item__head__text:after {
    width: 120px;
    height: 2px;
  }
}
.o-lv2Item--newfarmer .o-lv2Item__head__text:before, .o-lv2Item--expansion .o-lv2Item__head__text:before, .o-lv2Item--stable .o-lv2Item__head__text:before, .o-lv2Item--salesandcosts .o-lv2Item__head__text:before, .o-lv2Item--training .o-lv2Item__head__text:before, .o-lv2Item--legal .o-lv2Item__head__text:before, .o-lv2Item--tax .o-lv2Item__head__text:before, .o-lv2Item--information .o-lv2Item__head__text:before, .o-lv2Item--production .o-lv2Item__head__text:before, .o-lv2Item--processing .o-lv2Item__head__text:before, .o-lv2Item--labor .o-lv2Item__head__text:before, .o-lv2Item--financial .o-lv2Item__head__text:before, .o-lv2Item--management .o-lv2Item__head__text:before {
  background-image: url("./img/icon_catHeading_theme.png?250901");
  background-size: 100% 1300%;
}

.o-lv2Item--management .o-lv2Item__head__text:before {
  background-position: 0 0px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--management .o-lv2Item__head__text:before {
    background-position: 0 0px;
  }
}
.o-lv2Item--financial .o-lv2Item__head__text:before {
  background-position: 0 -48px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--financial .o-lv2Item__head__text:before {
    background-position: 0 -40px;
  }
}
.o-lv2Item--labor .o-lv2Item__head__text:before {
  background-position: 0 -96px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--labor .o-lv2Item__head__text:before {
    background-position: 0 -80px;
  }
}
.o-lv2Item--processing .o-lv2Item__head__text:before {
  background-position: 0 -144px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--processing .o-lv2Item__head__text:before {
    background-position: 0 -120px;
  }
}
.o-lv2Item--production .o-lv2Item__head__text:before {
  background-position: 0 -192px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--production .o-lv2Item__head__text:before {
    background-position: 0 -160px;
  }
}
.o-lv2Item--information .o-lv2Item__head__text:before {
  background-position: 0 -240px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--information .o-lv2Item__head__text:before {
    background-position: 0 -200px;
  }
}
.o-lv2Item--tax .o-lv2Item__head__text:before {
  background-position: 0 -288px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--tax .o-lv2Item__head__text:before {
    background-position: 0 -240px;
  }
}
.o-lv2Item--legal .o-lv2Item__head__text:before {
  background-position: 0 -336px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--legal .o-lv2Item__head__text:before {
    background-position: 0 -280px;
  }
}
.o-lv2Item--training .o-lv2Item__head__text:before {
  background-position: 0 -384px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--training .o-lv2Item__head__text:before {
    background-position: 0 -320px;
  }
}
.o-lv2Item--salesandcosts .o-lv2Item__head__text:before {
  background-position: 0 -432px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--salesandcosts .o-lv2Item__head__text:before {
    background-position: 0 -360px;
  }
}
.o-lv2Item--stable .o-lv2Item__head__text:before {
  background-position: 0 -480px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--stable .o-lv2Item__head__text:before {
    background-position: 0 -400px;
  }
}
.o-lv2Item--expansion .o-lv2Item__head__text:before {
  background-position: 0 -528px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--expansion .o-lv2Item__head__text:before {
    background-position: 0 -440px;
  }
}
.o-lv2Item--newfarmer .o-lv2Item__head__text:before {
  background-position: 0 -576px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--newfarmer .o-lv2Item__head__text:before {
    background-position: 0 -480px;
  }
}
.o-lv2Item--shindan .o-lv2Item__head__text:before, .o-lv2Item--knowledge .o-lv2Item__head__text:before, .o-lv2Item--solution .o-lv2Item__head__text:before, .o-lv2Item--faq .o-lv2Item__head__text:before, .o-lv2Item--consult .o-lv2Item__head__text:before, .o-lv2Item--column .o-lv2Item__head__text:before {
  background-image: url("./img/icon_catHeading_action.png?210121");
  background-size: 100% 600%;
}

.o-lv2Item--column .o-lv2Item__head__text:before {
  background-position: 0 0px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--column .o-lv2Item__head__text:before {
    background-position: 0 0px;
  }
}
.o-lv2Item--consult .o-lv2Item__head__text:before {
  background-position: 0 -48px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--consult .o-lv2Item__head__text:before {
    background-position: 0 -40px;
  }
}
.o-lv2Item--faq .o-lv2Item__head__text:before {
  background-position: 0 -96px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--faq .o-lv2Item__head__text:before {
    background-position: 0 -80px;
  }
}
.o-lv2Item--solution .o-lv2Item__head__text:before {
  background-position: 0 -144px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--solution .o-lv2Item__head__text:before {
    background-position: 0 -120px;
  }
}
.o-lv2Item--knowledge .o-lv2Item__head__text:before {
  background-position: 0 -192px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--knowledge .o-lv2Item__head__text:before {
    background-position: 0 -160px;
  }
}
.o-lv2Item--shindan .o-lv2Item__head__text:before {
  background-position: 0 -240px;
}
@media screen and (max-width: 599px) {
  .o-lv2Item--shindan .o-lv2Item__head__text:before {
    background-position: 0 -200px;
  }
}

@media screen and (min-width: 600px) {
  .o-lv2Item__head__moreLink {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 599px) {
  .o-lv2Item__head__moreLink {
    display: flex;
    justify-content: flex-end;
    margin: -10px 0 10px;
  }
}

/* ***************************
o-consultBox
*************************** */
* + .o-consultBox {
  margin-top: 16px;
}

.o-consultBox + .o-consultBox {
  margin-top: 21px;
}

.o-consultBox__ttl {
  position: relative;
  margin: 0;
  padding: 0 0 0 40px;
  border: none;
  font-size: 100%;
  line-height: 150%;
  font-weight: bold;
}
.o-consultBox__ttl:before {
  position: absolute;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  top: 0;
  left: 0;
  background: url("./img/icon_circle_arrow_large.png") left top no-repeat;
  background-size: 100% 500%;
  border-radius: 0;
}

.o-consultBox__body {
  padding-left: 40px;
}
* + .o-consultBox__body {
  margin-top: 4px;
}

/*
o-consultSearch
*************************** */
@media screen and (min-width: 600px) {
  .o-consultSearch--row {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (min-width: 600px) {
  .o-consultSearch--row .o-consultSearch__left {
    width: 350px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 599px) {
  .o-consultSearch--row .o-consultSearch__left {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}

* + .o-consultSearch__right {
  margin-top: 17px;
}

@media screen and (min-width: 600px) {
  .o-consultSearch--row .o-consultSearch__right {
    width: calc(100% - 370px);
    margin-top: 0;
  }
}

.o-consultSearch__form {
  position: relative;
  display: flex;
}

.o-consultSearch__text {
  width: calc(100% - 68px);
  height: 30px;
  padding: 0 0 0 12px;
  border: 1px solid #999;
  background: #fff;
  box-sizing: border-box;
  border-radius: 5px 0 0 5px;
}

.o-consultSearch__button {
  width: 68px;
  height: 30px;
  background: #999;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  border-radius: 0 5px 5px 0;
  box-sizing: border-box;
}
.o-consultSearch__button:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 19px;
  margin: -2px 0 0 6px;
  background: url("./img/icon_search.png") center center no-repeat;
  background-size: 18px 19px;
  vertical-align: middle;
}

/* ***************************
o-problemList
*************************** */
* + .o-problemList {
  margin-top: 20px;
}

h2 + .o-problemList--latest {
  margin-top: -20px;
}
@media screen and (max-width: 599px) {
  h2 + .o-problemList--latest {
    margin-top: -10px;
  }
}

.o-problemList__body {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
* + .o-problemList .o-problemList__body:before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  background: linear-gradient(to right, transparent 0, transparent 1px, #999 1px, #999 6px) right center repeat;
  background-size: 6px 1px;
}

.o-problemList__item {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 15px 0;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-problemList__item {
    padding: 15px 0 11px;
  }
}
.o-problemList__item:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, transparent 0, transparent 1px, #999 1px, #999 6px) right center repeat;
  background-size: 6px 1px;
}
.o-problemList__item:first-child {
  padding-top: 0;
}
* + .o-problemList .o-problemList__item:first-child {
  padding-top: 15px;
}

.o-problemList--latest .o-problemList__item {
  min-height: 61px;
}

/*
o-problemLink
*************************** */
.o-problemLink {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
}

.o-problemLink__info {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 130px;
  margin: 5px 12px 0 0;
  padding: 0 0 0 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-problemLink__info {
    flex-direction: row;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
  }
}
.o-problemList--latest .o-problemLink__info {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 254px;
  margin: 2px 20px 0 0;
  padding-left: 19px;
}
@media screen and (max-width: 599px) {
  .o-problemList--latest .o-problemLink__info {
    justify-content: flex-start;
    width: 100%;
    margin: 0;
    padding-left: 0;
  }
}

.o-problemLink__num {
  font-size: 75%;
  line-height: 100%;
}

.o-problemLink__label {
  width: 107px;
  padding: 4px 5px;
  background: #390;
  font-size: 75%;
  line-height: 100%;
  color: #fff;
  font-weight: bold;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-problemLink__label {
    order: -1;
    margin-right: 9px;
  }
}
* + .o-problemLink__label {
  margin-top: 9px;
}
@media screen and (max-width: 599px) {
  * + .o-problemLink__label {
    margin-top: 0;
  }
}

.o-problemList--latest .o-problemLink__label {
  margin: 0;
}
@media screen and (max-width: 599px) {
  .o-problemList--latest .o-problemLink__label {
    order: 1;
    margin-left: 9px;
  }
}

.o-problemLink__ttl {
  width: calc(100% - 142px);
  margin: 0;
  padding: 0;
  border: none;
  font-size: 87.5%;
  line-height: 172%;
  min-height: 72px;
  font-weight: normal;
}
@media screen and (max-width: 599px) {
  .o-problemLink__ttl {
    width: 100%;
  }
  * + .o-problemLink__ttl {
    margin-top: 4px;
  }
}
.o-problemLink__ttl:before {
  content: none !important;
}
.o-problemList--latest .o-problemLink__ttl {
  width: calc(100% - 274px);
}
@media screen and (max-width: 599px) {
  .o-problemList--latest .o-problemLink__ttl {
    width: 100%;
  }
}

.o-problemLink__ttl a {
  color: #333;
  text-decoration: none;
}
.o-problemLink__ttl a:link, .o-problemLink__ttl a:visited {
  color: #333;
  text-decoration: none;
}
.o-problemLink__ttl a:hover {
  color: #333;
  text-decoration: underline;
}

.o-problemLink__newMark {
  display: inline-block;
  width: 40px;
  margin: -4px 0 0 10px;
  padding: 5px 3px 4px;
  background: #cc7606;
  font-size: 85.7142857143%;
  line-height: 100%;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}

.o-problemLink__link {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-top: 0;
}
.o-problemLink__link a {
  position: relative;
  color: #333;
  text-decoration: none;
}
.o-problemLink__link a:link, .o-problemLink__link a:visited {
  color: #333;
  text-decoration: none;
}
.o-problemLink__link a:hover {
  color: #333;
  text-decoration: underline;
}
.o-problemLink__link a:after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: -4px 0 0 10px;
  background: url("./img/icon_circle_arrow.png") left top no-repeat;
  background-size: 100% 500%;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-problemLink__link a:after {
    margin-left: 6px;
  }
}

/* ***************************
o-solutionCard
*************************** */
* + .o-solutionCard {
  margin-top: 20px;
}

.o-solutionCard__item {
  background: #fff;
  padding: 8px 6px 6px;
  border: 1px solid #999;
}
.o-solutionCard__item + .o-solutionCard__item {
  margin-top: 20px;
}

.o-solutionCard__date {
  display: flex;
  justify-content: flex-end;
}

* + .o-solutionCard__table {
  margin-top: 8px;
}

@media screen and (max-width: 959px) {
  .o-solutionCard__table {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.o-solutionCard__words {
  padding: 10px;
  background: #f5f5f5;
}

/*
o-solutionCard
*************************** */
.o-solutionTable {
  border: none;
  width: 100%;
  min-height: 110px;
}
@media screen and (max-width: 959px) {
  .o-solutionCard .o-solutionTable {
    width: auto;
    max-width: none;
    min-width: 900px;
  }
}

.o-solutionTable th {
  background-color: #ddeed5;
  white-space: nowrap;
}
.o-solutionTable th, .o-solutionTable td {
  min-height: 50px;
  border: none;
  border-right: 4px solid #fff;
}
.o-solutionTable th:last-child, .o-solutionTable td:last-child {
  border-right: none;
}
.o-solutionTable .o-linkList {
  text-align: left;
}
.o-solutionTable .o-linkList li {
  margin-top: 0;
}
.o-solutionTable .o-linkList a {
  padding-left: 0;
}
.o-solutionTable .o-linkList a:before {
  content: none !important;
}

.o-solutionTable__info th, .o-solutionTable__info td {
  text-align: center;
}
.o-solutionTable__info tr > td:nth-child(4) {
  white-space: nowrap;
}
.o-solutionTable__info tr > td:nth-child(5) br {
  display: none;
}
.o-solutionTable__info tr > td:nth-child(5) a {
  display: block;
  font-size: 0;
  line-height: 0;
}
.o-solutionTable__info tr > td:nth-child(5) a:after {
  margin: 0;
}
.o-solutionTable__info tr > td:nth-child(5) a ~ a {
  margin-top: 5px;
}

/* ***************************
o-expertList
*************************** */
* + .o-expertList {
  margin-top: 15px;
}

.o-expertList__body {
  display: flex;
  flex-wrap: wrap;
  margin: -16px -8px 0;
}

.o-expertList__item {
  width: 33.33%;
  margin: 16px 0 0;
  padding: 0 8px;
  box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  .o-expertList__item {
    width: 50%;
  }
}
@media screen and (max-width: 599px) {
  .o-expertList__item {
    width: 100%;
  }
}
.o-expertList__item:before {
  content: none !important;
}

/*
o-expertCard
*************************** */
.o-expertCard {
  display: block;
  height: 100%;
  background: #fff;
  color: #333;
  text-decoration: none;
  border-radius: 5px;
  overflow: hidden;
}
.o-expertCard:link, .o-expertCard:visited, .o-expertCard:hover {
  color: #333;
  text-decoration: none;
}
.o-expertCard:hover {
  opacity: 0.6;
}

.o-expertCard__inner {
  padding: 20px;
}

.o-expertCard__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  .o-expertCard__top {
    flex-direction: column;
  }
}

.o-expertCard__bottom {
  padding-left: 10px;
}
* + .o-expertCard__bottom {
  margin-top: 15px;
}

.o-expertCard__top__img {
  position: relative;
  width: 39.0625%;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 599px) {
  .o-expertCard__top__img {
    width: 150px;
  }
}
.o-expertCard__top__img p {
  position: relative;
  width: 100%;
  padding-top: 100%;
  box-sizing: border-box;
}
.o-expertCard__top__img img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
}

.o-expertCard__top__text {
  width: 53.125%;
}
@media screen and (max-width: 599px) {
  .o-expertCard__top__text {
    width: auto;
  }
  * + .o-expertCard__top__text {
    margin-top: 5px;
  }
}

.o-expertCard__top__name {
  font-size: 125%;
  line-height: 140%;
  font-weight: bold;
}

.o-expertCard__top__kana {
  margin: 0;
  font-size: 87.5%;
  line-height: 172%;
}

/*
o-expertInfo
*************************** */
.o-expertInfo__item {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.o-expertInfo__item + .o-expertInfo__item {
  margin-top: 11px;
}

.o-expertInfo__label {
  width: 72px;
  margin: 0 10px 0 0;
  padding: 4px 5px;
  background: #fff;
  border: 1px solid #999;
  font-size: 75%;
  line-height: 100%;
  text-align: center;
  border-radius: 2px;
  box-sizing: border-box;
}

.o-expertInfo__text {
  width: calc(100% - 82px);
  margin: -2px 0 0;
}
.o-expertInfo--omission .o-expertInfo__text {
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* ***************************
o-expertList
*************************** */
.o-expertBox {
  padding: 20px;
  background: #fff;
  border-radius: 5px;
}

.o-expertBox__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 599px) {
  .o-expertBox__inner {
    flex-direction: column;
    align-items: center;
  }
}

.o-expertBox__img {
  width: 29.5454545455%;
}
@media screen and (max-width: 599px) {
  .o-expertBox__img {
    width: 260px;
  }
}
.o-expertBox__img p {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  border-radius: 50%;
  box-sizing: border-box;
}
.o-expertBox__img img {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

.o-expertBox__text {
  width: 68.1818181818%;
  padding-top: 13px;
}
@media screen and (max-width: 599px) {
  .o-expertBox__text {
    width: 100%;
  }
}

.o-expertBox__name {
  font-size: 187.5%;
  line-height: 134%;
  font-weight: bold;
}

.o-expertBox__kana {
  margin: 0;
  font-size: 112.5%;
  line-height: 156%;
}

* + .o-expertBox__msg {
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid #999;
}

/*
o-expertDetail
*************************** */
.o-expertDetail__head {
  padding: 30px;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-expertDetail__head {
    padding: 15px;
  }
}

.o-expertProf {
  display: flex;
  align-items: center;
}

.o-expertProf__img p {
  position: relative;
  width: 108px;
  height: 108px;
  overflow: hidden;
  border-radius: 50%;
  box-sizing: border-box;
}

.o-expertProf__text {
  margin-left: 10px;
}

.o-expertProf__name {
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1.5;
  border: none;
}
.o-expertProf__name::after {
  display: none;
}

.o-expertProf__kana {
  margin-top: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.o-expertDetail__list {
  margin-top: 10px;
  padding-top: 10px;
  border-top: solid #e0e2e7 1px;
}

.o-detailList {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: repeat(6, auto);
  grid-column-gap: 50px;
  grid-row-gap: 10px;
}
@media screen and (max-width: 599px) {
  .o-detailList {
    display: block;
  }
}

.o-detailList__item {
  margin: 0;
  padding: 0;
}
.o-detailList__item::before {
  display: none;
}
.o-detailList__item:nth-child(1) {
  grid-area: 1/1/2/3;
}
.o-detailList__item:nth-child(2) {
  grid-area: 2/1/3/2;
}
.o-detailList__item:nth-child(3) {
  grid-area: 2/2/3/3;
}
.o-detailList__item:nth-child(4) {
  grid-area: 3/1/4/2;
}
.o-detailList__item:nth-child(5) {
  grid-area: 3/2/4/3;
}
.o-detailList__item:nth-child(6) {
  grid-area: 4/1/5/2;
}
.o-detailList__item:nth-child(7) {
  grid-area: 4/2/5/3;
}
.o-detailList__item:nth-child(8) {
  grid-area: 5/1/6/3;
}
.o-detailList__item:nth-child(9) {
  grid-area: 6/1/7/3;
}
.o-detailList__item--intoro {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 599px) {
  .o-detailList__item + .o-detailList__item {
    margin-top: 10px;
  }
}

.o-detailUnit {
  display: flex;
}
.o-detailUnit--note {
  display: block;
}

.o-detailUnit__ttl {
  min-width: 7em;
  font-size: 1rem;
  line-height: 1.5;
  color: #888;
}
.o-detailUnit--focus .o-detailUnit__ttl {
  margin: 2px 0 0;
}
.o-detailUnit__ttl .o-detailUnit--note {
  min-width: 1px;
}

.o-detailUnit__text {
  font-size: 1rem;
  line-height: 1.5;
  color: #888;
  font-weight: bold;
}

.o-detailUnit__label {
  display: inline-block;
  padding: 0 5px;
  margin: 0 2px 0 0;
  color: #ff861d;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
  background-color: #ffe8d5;
  border-radius: 2px;
}

.o-expertDetail__body {
  margin-top: 30px;
  padding: 0 30px;
}
@media screen and (max-width: 599px) {
  .o-expertDetail__body {
    padding: 0;
  }
}

.o-othersUnit + .o-othersUnit {
  margin-top: 30px;
}
@media screen and (max-width: 599px) {
  .o-othersUnit + .o-othersUnit {
    margin-top: 15px;
  }
}
@media screen and (max-width: 599px) {
  .o-othersUnit {
    padding-bottom: 15px;
    border-bottom: solid #e0e2e7 1px;
  }
}

.o-othersUnit__ttl {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
  border: none;
}
.o-othersUnit__ttl::before {
  display: none;
}

.o-othersUnit__list {
  margin: 8px 0 0;
}

.o-othersUnit__list__item::before {
  display: block;
  width: 14px;
  height: 14px;
  margin: -2px 5px 0 0;
  content: "";
  background-image: url(./img/download.png);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
}

/* ***************************
o-knowledgeList
*************************** */
* + .o-knowledgeList {
  margin-top: 24px;
}

.o-knowledgeList__body {
  margin: 0;
  padding: 0;
}

.o-knowledgeList__item {
  margin: 0;
  padding: 0;
}
.o-knowledgeList__item:before {
  content: none !important;
}
.o-knowledgeList__item + .o-knowledgeList__item {
  margin-top: 10px;
}

.o-knowledgeList__btn {
  position: relative;
  display: block;
  padding: 9px 50px 7px 17px;
  background: #fff;
  border: 2px solid #d1b203;
  font-size: 87.5%;
  line-height: 172%;
  font-weight: bold;
  border-radius: 5px;
}
.o-knowledgeList__btn:link, .o-knowledgeList__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-knowledgeList__btn:after {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url("./img/icon_circle_arrow.png") 0 -16px no-repeat;
  background-size: 100% 500%;
}
.o-knowledgeList__btn:hover {
  background-color: #f8f8ed;
}

/* ***************************
o-loginBox
*************************** */
.o-loginBox {
  max-width: 600px;
  margin: auto;
}

.o-loginBox__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: -2px 0 0;
}

.o-loginBox__lead {
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (max-width: 599px) {
  .o-loginBox__lead {
    font-size: 1rem;
    line-height: 1.5;
  }
}

/*
o-loginForm
*************************** */
.o-loginForm {
  width: 100%;
  max-width: 350px;
  margin: auto;
  padding: 20px 16px 40px;
  background: #fff;
  border-radius: 8px;
  box-sizing: border-box;
}
* + .o-loginForm {
  margin-top: 15px;
}
@media screen and (max-width: 599px) {
  * + .o-loginForm {
    margin-top: 17px;
  }
}

.o-loginForm__falied {
  margin-bottom: 10px;
}

.o-loginForm__falied__head {
  font-weight: bold;
  color: #b90f0f;
}

.o-loginForm__falied__text {
  margin: 0;
  color: #b90f0f;
}

.o-loginForm__item + .o-loginForm__item {
  margin-top: 16px;
}

.o-loginForm__ttl {
  font-weight: bold;
}

.o-loginForm__input {
  display: block;
  width: 100%;
  height: 50px;
  margin-top: 7px;
  padding: 17px 14px;
  font-size: 0.875rem;
  line-height: 1.8571428571;
  background: #e7f0fe;
  border: 1px solid #e7f0fe;
  box-sizing: border-box;
}
.o-loginForm__item--error .o-loginForm__input {
  background-color: #faf1f1;
  border-color: #b90f0f;
}

.o-loginForm__error {
  display: none;
  font-size: 81.25%;
  line-height: 185%;
  color: #b90f0f;
}
.o-loginForm__item--error .o-loginForm__error {
  display: block;
}

* + .o-loginForm__error {
  margin-top: 4px;
}

.o-loginForm__submit {
  margin-top: 14px;
}

.o-loginBox__bottom {
  max-width: 350px;
  margin: auto;
}
* + .o-loginBox__bottom {
  margin-top: 20px;
}

/* ***************************
o-consultList
*************************** */
.o-consultList__table {
  overflow: hidden;
}

* + .o-consultList__pager {
  margin-top: 30px;
}

/* ***************************
o-consultTable
*************************** */
.o-consultTable {
  width: 100%;
  border-style: solid;
  box-sizing: border-box;
}
* + .o-consultTable {
  margin-top: 15px;
}

@media screen and (max-width: 599px) {
  .o-consultTable thead {
    display: none;
  }
}
.o-consultTable th, .o-consultTable td {
  height: auto;
  padding: 6px 5px 4px;
  border-style: solid;
  text-align: center;
}
.o-consultTable th {
  background: #effaea;
  color: #333;
}
.o-consultTable td {
  background: #fff;
}
.o-consultTable td:nth-child(2) {
  text-align: left;
}
@media screen and (max-width: 599px) {
  .o-consultTable {
    border: none;
  }
  .o-consultTable tr {
    display: table;
    width: 100%;
    border-top: 1px solid #999;
    border-left: 1px solid #999;
  }
  .o-consultTable tr + tr {
    margin-top: 15px;
  }
  .o-consultTable td {
    display: table-row;
    border: none;
  }
  .o-consultTable td:before,
  .o-consultTable td span {
    height: auto;
    padding: 6px 5px 4px;
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
    text-align: center;
  }
  .o-consultTable td:before {
    content: attr(data-headlabel);
    display: table-cell;
    height: auto;
    padding: 6px 5px 4px;
    background: #effaea;
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
    color: #333;
    text-align: center;
    font-weight: bold;
  }
  .o-consultTable td span {
    display: table-cell;
    text-align: center;
  }
}

.o-consultTable__new td {
  font-weight: bold;
}
.o-consultTable__new td:first-child span:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -2px 8px 0 0;
  background: url("./img/icon_consult_new.png") left top no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* ***************************
o-consultNewAnswer
*************************** */
.o-consultNewAnswer {
  font-size: 93.75%;
  line-height: 167%;
  font-weight: bold;
}
.o-consultNewAnswer:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -4px 8px 0 0;
  background: url("./img/icon_consult_new.png") left top no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* ***************************
o-formBox
*************************** */
.o-formBox {
  display: block;
}
* + .o-formBox {
  margin-top: 20px;
}

.o-formBox__wrap {
  padding: 20px 20px 24px;
  background: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 599px) {
  .o-formBox__wrap {
    padding: 20px 16px 35px;
  }
}

.o-formBox__printBtn {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}
@media screen and (max-width: 599px) {
  .o-formBox__printBtn {
    display: none;
  }
}

.o-formBox__head + .o-formBox__body {
  margin-top: 16px;
}

.o-formBox__body + .o-formBox__body {
  margin-top: 32px;
}
@media screen and (max-width: 599px) {
  .o-formBox__body + .o-formBox__body {
    margin-top: 21px;
  }
}

* + .o-formBox__footer {
  margin-top: 43px;
}
@media screen and (max-width: 599px) {
  * + .o-formBox__footer {
    margin-top: 20px;
  }
}

.o-formBox__heading {
  padding-top: 7px;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  font-weight: bold;
  text-align: center;
}

/*
o-formGroup
*************************** */
.o-formGroup {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
* + .o-formGroup {
  margin-top: 20px;
}

.o-formGroup__left {
  width: 220px;
  margin-top: 7px;
  margin-right: 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-formGroup__left {
    width: 100%;
    margin-right: 0;
  }
}

.o-formGroup__ttl {
  display: flex;
  align-items: flex-start;
  width: 100%;
  font-weight: bold;
}

.o-formGroup__ttl__mark, .o-formGroup__ttl__mark--optional, .o-formGroup__ttl__mark--required {
  display: inline-block;
  width: 48px;
  min-width: 48px;
  margin-top: 2px;
  margin-right: 13px;
  padding: 4px 5px;
  font-size: 75%;
  line-height: 100%;
  font-weight: normal;
  text-align: center;
  box-sizing: border-box;
}
.o-formGroup__ttl__mark--required {
  background: #b90f0f;
  color: #fff;
}
.o-formGroup__ttl__mark--optional {
  background: #ddd;
  color: #333;
}

.o-formGroup__ttl__mark + .o-formGroup__ttl__text, .o-formGroup__ttl__mark--required + .o-formGroup__ttl__text, .o-formGroup__ttl__mark--optional + .o-formGroup__ttl__text {
  width: calc(100% - 61px);
}

.o-formGroup__desc {
  margin-top: 7px;
  font-size: 81.25%;
  line-height: 154%;
}
.o-formGroup__error {
  display: none;
  font-size: 81.25%;
  line-height: 185%;
  color: #b90f0f;
}
.o-formGroup--error .o-formGroup__error {
  display: block;
}

* + .o-formGroup__error {
  margin-top: 4px;
}

.o-formGroup__right {
  width: calc(100% - 240px);
}
@media screen and (max-width: 599px) {
  .o-formGroup__right {
    width: 100%;
    margin-top: 8px;
  }
}

/*-- text --*/
.o-formGroup__text input[type=text], .o-formGroup__text input[type=tel], .o-formGroup__text input[type=email], .o-formGroup__text input[type=password],
.o-formGroup__name input[type=text],
.o-formGroup__name input[type=tel],
.o-formGroup__name input[type=email],
.o-formGroup__name input[type=password] {
  display: block;
  width: 100%;
  height: 38px;
  padding: 4px 19px;
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  border-radius: 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-formGroup__text input[type=text], .o-formGroup__text input[type=tel], .o-formGroup__text input[type=email], .o-formGroup__text input[type=password],
  .o-formGroup__name input[type=text],
  .o-formGroup__name input[type=tel],
  .o-formGroup__name input[type=email],
  .o-formGroup__name input[type=password] {
    padding: 4px 10px;
  }
}
.o-formGroup--error .o-formGroup__text input[type=text], .o-formGroup--error .o-formGroup__text input[type=tel], .o-formGroup--error .o-formGroup__text input[type=email], .o-formGroup--error .o-formGroup__text input[type=password],
.o-formGroup--error .o-formGroup__name input[type=text],
.o-formGroup--error .o-formGroup__name input[type=tel],
.o-formGroup--error .o-formGroup__name input[type=email],
.o-formGroup--error .o-formGroup__name input[type=password] {
  background-color: #faf1f1;
  border-color: #b90f0f;
}

.o-formGroup__name {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.o-formGroup__name__item {
  width: 50%;
  max-width: 220px;
  padding: 0 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-formGroup__name__item {
    max-width: none;
  }
}

/*-- textarea --*/
.o-formGroup__textarea {
  position: relative;
}
.o-formGroup__textarea textarea {
  position: relative;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: 228px;
  min-height: 100px;
  max-height: 400px;
  padding: 4px 19px;
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  border-radius: 5px;
  box-sizing: border-box;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-formGroup__textarea textarea {
    padding: 4px 10px;
  }
}
.o-formGroup--error .o-formGroup__textarea textarea {
  background-color: #faf1f1;
  border-color: #b90f0f;
}

/*-- select --*/
.o-formGroup__select {
  position: relative;
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  border-radius: 5px;
}
.o-formGroup--error .o-formGroup__select {
  background-color: #faf1f1;
  border-color: #b90f0f;
}

.o-formGroup__select:after {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  top: -4px;
  right: 20px;
  bottom: 0;
  margin: auto;
  border: solid #333;
  border-width: 0 2px 2px 0;
  box-sizing: border-box;
  transform: rotate(45deg);
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .o-formGroup__select:after {
    right: 10px;
  }
}
.o-formGroup__select select {
  position: relative;
  width: 100%;
  height: 36px;
  padding: 5px 20px;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 2;
}
@media screen and (max-width: 599px) {
  .o-formGroup__select select {
    padding: 5px 10px;
  }
}

/*-- date --*/
.o-formGroup__date {
  display: flex;
}

.o-formGroup__date__item {
  position: relative;
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  border-radius: 5px;
}
.o-formGroup--error .o-formGroup__date__item {
  background-color: #faf1f1;
  border-color: #b90f0f;
}

.o-formGroup__date__item:after {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  top: -4px;
  right: 20px;
  bottom: 0;
  margin: auto;
  border: solid #333;
  border-width: 0 2px 2px 0;
  box-sizing: border-box;
  transform: rotate(45deg);
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .o-formGroup__date__item:after {
    right: 10px;
  }
}
.o-formGroup__date__item + .o-formGroup__date__item {
  margin-left: 20px;
}
@media screen and (max-width: 599px) {
  .o-formGroup__date__item + .o-formGroup__date__item {
    margin-left: 8px;
  }
}
.o-formGroup__date__item:nth-child(1) {
  width: 128px;
}
.o-formGroup__date__item:nth-child(2), .o-formGroup__date__item:nth-child(3) {
  width: 98px;
}
.o-formGroup__date__item select {
  position: relative;
  width: 100%;
  height: 36px;
  padding: 5px 20px;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 2;
}
@media screen and (max-width: 599px) {
  .o-formGroup__date__item select {
    padding: 5px 10px;
  }
}

/*-- radio checkbox --*/
.o-formGroup__radio,
.o-formGroup__checkbox {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px;
}
@media screen and (max-width: 599px) {
  .o-formGroup__radio,
  .o-formGroup__checkbox {
    margin-top: -7px;
  }
}

.o-formGroup__radio__item,
.o-formGroup__checkbox__item {
  width: 33.33%;
  margin: 7px 0 0;
  padding: 0 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-formGroup__radio__item,
  .o-formGroup__checkbox__item {
    width: 50%;
  }
}
.o-formGroup__radio__item label,
.o-formGroup__checkbox__item label {
  position: relative;
  display: block;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.o-formGroup__radio__item input,
.o-formGroup__checkbox__item input {
  display: none;
}
.o-formGroup__radio__item span,
.o-formGroup__checkbox__item span {
  position: relative;
  display: block;
  padding-left: 24px;
  color: #999;
}
.o-formGroup__radio__item span:before,
.o-formGroup__checkbox__item span:before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 4px;
  left: 0;
  background: #f5f5f5;
  border: 1px solid #999;
  box-sizing: border-box;
}
.o-formGroup__radio__item span:after,
.o-formGroup__checkbox__item span:after {
  position: absolute;
  content: "";
  display: block;
}

.o-formGroup__radio__item span:before {
  border-radius: 50%;
}
.o-formGroup__radio__item span:after {
  width: 8px;
  height: 8px;
  top: 8px;
  left: 4px;
  border-radius: 50%;
}
.o-formGroup__radio__item input[type=radio] + span {
  color: #333;
}
.o-formGroup__radio__item input[type=radio]:checked + span:before {
  background-color: #390;
  border-color: #390;
}
.o-formGroup__radio__item input[type=radio]:checked + span:after {
  background: #fff;
}

.o-formGroup__checkbox__item span:before {
  border-radius: 2px;
}
.o-formGroup__checkbox__item input[type=checkbox] + span {
  color: #333;
}
.o-formGroup__checkbox__item input[type=checkbox]:checked + span:before {
  background-color: #390;
  border-color: #390;
}
.o-formGroup__checkbox__item input[type=checkbox]:checked + span:after {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  top: 8px;
  left: 3px;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
  box-sizing: border-box;
}

.o-formGroup__checkConfirm {
  position: relative;
  margin: 7px 0 0;
  padding-left: 24px;
  color: #999;
}
.o-formGroup__checkConfirm:before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 4px;
  left: 0;
  background: #f5f5f5;
  border-radius: 2px;
}
.o-formGroup__checkConfirm--checked {
  color: #333;
}
.o-formGroup__checkConfirm--checked:before {
  background: #390;
}
.o-formGroup__checkConfirm--checked:after {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  top: 9px;
  left: 3px;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
  box-sizing: border-box;
}

/*-- file --*/
.o-formGroup__file__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
}

.o-formGroup__file__input {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: -1;
}

.o-formGroup__file__button {
  display: block;
  width: 200px;
  margin-right: 10px;
  padding: 5px;
  background: #fff;
  border: solid 1px #999;
  font-size: 87.5%;
  line-height: 172%;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
}
.o-formGroup__file__button:hover {
  background-color: #999;
  color: #fff;
}

.o-formGroup__file__name {
  width: calc(100% - 210px);
}
@media screen and (max-width: 959px) {
  .o-formGroup__file__name {
    width: 100%;
    margin-top: 8px;
  }
}
.o-formGroup__file__name[data-file-name*=".pdf"]:after, .o-formGroup__file__name[data-file-name*=".PDF"]:after, .o-formGroup__file__name[data-file-name*=".doc"]:after, .o-formGroup__file__name[data-file-name*=".DOC"]:after, .o-formGroup__file__name[data-file-name*=".xls"]:after, .o-formGroup__file__name[data-file-name*=".XLS"]:after, .o-formGroup__file__name[data-file-name*=".ppt"]:after, .o-formGroup__file__name[data-file-name*=".PPT"]:after, .o-formGroup__file__name[data-file-name*=".zip"]:after, .o-formGroup__file__name[data-file-name*=".ZIP"]:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 16px;
  margin: -4px 6px 0;
  background: url("./img/icon_files.png") no-repeat;
  background-size: 125% 593.75%;
  vertical-align: middle;
}
.o-formGroup__file__name[data-file-name*=".pdf"]:after, .o-formGroup__file__name[data-file-name*=".PDF"]:after {
  background-position: 0 0;
}
.o-formGroup__file__name[data-file-name*=".doc"]:after, .o-formGroup__file__name[data-file-name*=".DOC"]:after {
  background-position: 0 -16px;
}
.o-formGroup__file__name[data-file-name*=".xls"]:after, .o-formGroup__file__name[data-file-name*=".XLS"]:after {
  background-position: 0 -32px;
}
.o-formGroup__file__name[data-file-name*=".ppt"]:after, .o-formGroup__file__name[data-file-name*=".PPT"]:after {
  background-position: 0 -48px;
}
.o-formGroup__file__name[data-file-name*=".zip"]:after, .o-formGroup__file__name[data-file-name*=".ZIP"]:after {
  background-position: 0 -64px;
}

.o-formGroup__hidden {
  display: none !important;
}

.o-formGroup__confirm,
.o-formGroup__detail {
  position: relative;
  display: block;
  width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 7px 20px;
  background: #eff9ea;
  white-space: pre-wrap;
  border-radius: 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-formGroup__confirm,
  .o-formGroup__detail {
    padding: 7px 10px;
  }
}
.o-formGroup__confirm a,
.o-formGroup__detail a {
  color: #333;
}
.o-formGroup__confirm a:link, .o-formGroup__confirm a:visited, .o-formGroup__confirm a:hover,
.o-formGroup__detail a:link,
.o-formGroup__detail a:visited,
.o-formGroup__detail a:hover {
  color: #333;
}

.o-formGroup__confirm[data-file-name*=".pdf"]:after, .o-formGroup__confirm[data-file-name*=".PDF"]:after, .o-formGroup__confirm[data-file-name*=".doc"]:after, .o-formGroup__confirm[data-file-name*=".DOC"]:after, .o-formGroup__confirm[data-file-name*=".xls"]:after, .o-formGroup__confirm[data-file-name*=".XLS"]:after, .o-formGroup__confirm[data-file-name*=".ppt"]:after, .o-formGroup__confirm[data-file-name*=".PPT"]:after, .o-formGroup__confirm[data-file-name*=".zip"]:after, .o-formGroup__confirm[data-file-name*=".ZIP"]:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 16px;
  margin: -4px 6px 0;
  background: url("./img/icon_files.png") no-repeat;
  background-size: 125% 593.75%;
  vertical-align: middle;
}
.o-formGroup__confirm[data-file-name*=".pdf"]:after, .o-formGroup__confirm[data-file-name*=".PDF"]:after {
  background-position: 0 0;
}
.o-formGroup__confirm[data-file-name*=".doc"]:after, .o-formGroup__confirm[data-file-name*=".DOC"]:after {
  background-position: 0 -16px;
}
.o-formGroup__confirm[data-file-name*=".xls"]:after, .o-formGroup__confirm[data-file-name*=".XLS"]:after {
  background-position: 0 -32px;
}
.o-formGroup__confirm[data-file-name*=".ppt"]:after, .o-formGroup__confirm[data-file-name*=".PPT"]:after {
  background-position: 0 -48px;
}
.o-formGroup__confirm[data-file-name*=".zip"]:after, .o-formGroup__confirm[data-file-name*=".ZIP"]:after {
  background-position: 0 -64px;
}

/*-- readonly --*/
.o-formGroup__readOnly {
  position: relative;
  display: block;
  width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 7px 20px;
  border-radius: 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-formGroup__readOnly {
    padding: 7px 10px;
  }
}

/*
o-termsBox
*************************** */
.o-termsBox {
  max-width: 800px;
  margin: auto;
}

.o-termsBox__ttl {
  padding: 5px;
  background: #390;
  font-size: 150%;
  line-height: 134%;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.o-termsBox__body {
  background: #fff;
  max-height: 160px;
  padding: 15px;
  border: 1px solid #999;
  border-top: none;
  overflow: auto;
}

/*
o-formBtnsList
*************************** */
.o-formBtnsList {
  display: flex;
  justify-content: center;
  gap: 0 40px;
  margin-top: 40px;
}
@media screen and (max-width: 599px) {
  .o-formBtnsList {
    display: block;
    margin-top: 30px;
  }
}

.o-formBtnsList__item {
  width: 100%;
  max-width: 350px;
}
@media screen and (max-width: 599px) {
  .o-formBtnsList__item {
    margin-inline: auto;
  }
}
@media screen and (max-width: 599px) {
  .o-formBtnsList__item + .o-formBtnsList__item {
    margin-top: 10px;
  }
}

/*
o-formBtns
*************************** */
* + .o-formBtns {
  margin-top: 16px;
}

.o-formBtns__top {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.o-formBtns__agree {
  width: 100%;
  text-align: center;
}
.o-formBtns__agree label {
  display: inline-block;
  text-align: left;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.o-formBtns__agree input {
  display: none;
}
.o-formBtns__agree span {
  position: relative;
  padding-left: 24px;
}
.o-formBtns__agree span:before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 1px;
  left: 0;
  background: #fff;
  border: 1px solid #999;
  border-radius: 2px;
  box-sizing: border-box;
}
.o-formBtns__agree span:after {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  top: 6px;
  left: 3px;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.o-formBtns__agree input[type=checkbox]:checked + span:before {
  background-color: #390;
  border-color: #390;
}

.o-formBtns__agree * + label {
  margin-top: 8px;
}

.o-formBtns__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 599px) {
  .o-formBtns__bottom {
    flex-direction: column;
  }
}
* + .o-formBtns .o-formBtns__bottom {
  margin-top: -16px;
}

.o-formBtns * + .o-formBtns__bottom {
  margin-top: 0;
}

.o-formBtns__return,
.o-formBtns__close,
.o-formBtns__leave,
.o-formBtns__item {
  width: 100%;
  max-width: 220px;
}

.o-formBtns__submit {
  width: 100%;
  max-width: 300px;
}

.o-formBtns__return,
.o-formBtns__submit,
.o-formBtns__close,
.o-formBtns__leave,
.o-formBtns__item {
  margin: 16px 0 0;
  padding: 0 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-formBtns__return,
  .o-formBtns__submit,
  .o-formBtns__close,
  .o-formBtns__leave,
  .o-formBtns__item {
    flex-grow: 1;
    width: 100%;
    max-width: 100%;
  }
}
.o-modalBox__foot .o-formBtns__return,
.o-modalBox__foot .o-formBtns__submit,
.o-modalBox__foot .o-formBtns__close,
.o-modalBox__foot .o-formBtns__leave,
.o-modalBox__foot .o-formBtns__item {
  margin: 18px 0 0;
}
.o-loginForm .o-formBtns__return,
.o-loginForm .o-formBtns__submit,
.o-loginForm .o-formBtns__close,
.o-loginForm .o-formBtns__leave,
.o-loginForm .o-formBtns__item {
  max-width: none;
  padding: 0;
}

.o-formBtns__item + .o-formBtns__item {
  margin: 22px 0 0;
}

.o-formBtns__btn {
  position: relative;
  display: block;
  width: 100%;
  max-width: 280px;
  margin: auto;
  padding: 11px 40px 10px;
  background: #fff;
  border: 1px solid #d1b203;
  font-size: 1rem;
  line-height: 1.625;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  text-align: center;
  box-sizing: border-box;
  border-radius: 5px;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .o-formBtns__btn {
    padding: 13px 40px 11px;
  }
}
.o-formBtns__btn:link, .o-formBtns__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-formBtns__btn:after {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url("./img/icon_circle_arrow.png") left top no-repeat;
  background-position: 0 -16px;
  background-size: 100% 500%;
}
@media screen and (max-width: 599px) {
  .o-formBtns__btn:after {
    width: 15px;
    height: 15px;
    right: 15px;
    background-position: 0 -15px;
  }
}
.o-formBtns__btn:hover {
  background-color: #f8f8ed;
}
.o-formBtns__btn--disabled {
  background-color: #ddd;
  border-color: #ddd;
  color: #a3a3a3;
  cursor: default;
  pointer-events: none;
}
.o-formBtns__btn--disabled:link, .o-formBtns__btn--disabled:visited {
  color: #999;
}
.o-formBtns__btn--disabled:after {
  background-position: 0 -32px;
}
@media screen and (max-width: 599px) {
  .o-formBtns__btn--disabled:after {
    background-position: 0 -30px;
  }
}
.o-formBtns__btn--disabled:hover {
  background-color: #ddd;
  border-color: #ddd;
  color: #a3a3a3;
}
.o-formBtns__btn--disabled:hover:after {
  background-position: 0 -32px;
}
@media screen and (max-width: 599px) {
  .o-formBtns__btn--disabled:hover:after {
    background-position: 0 -30px;
  }
}
.o-formBtns__btn--return {
  border-color: #999;
  color: #666;
}
.o-formBtns__btn--return:link, .o-formBtns__btn--return:visited {
  color: #666;
}
.o-formBtns__btn--return:after {
  right: auto;
  left: 20px;
  background-position: 0 -32px;
  transform: scale(-1);
}
@media screen and (max-width: 599px) {
  .o-formBtns__btn--return:after {
    background-position: 0 -30px;
  }
}
.o-formBtns__btn--return:hover {
  background-color: #eee;
}
.o-formBtns__btn--leave {
  background-color: #999;
  border-color: #999;
  color: #fff;
}
.o-formBtns__btn--leave:link, .o-formBtns__btn--leave:visited {
  color: #fff;
}
.o-formBtns__btn--leave:after {
  background-position: 0 -64px;
}
@media screen and (max-width: 599px) {
  .o-formBtns__btn--leave:after {
    background-position: 0 -60px;
  }
}
.o-formBtns__btn--leave:hover {
  background-color: #5c5c5c;
  border-color: #5c5c5c;
  color: #fff;
}
.o-formBtns__btn--close:after {
  content: none;
}
.o-formBtns__btn--small {
  padding: 7px 40px;
}
.o-formBtns__btn--green {
  border-color: #339900;
}
.o-formBtns__btn--green:hover {
  background-color: #fff;
  opacity: 0.8;
}
.o-formBtns__btn--green::after {
  display: none;
}
.o-formBtns__btn--bgGreen {
  color: #fff;
  background: #339900;
  border: none;
}
.o-formBtns__btn--bgGreen::after {
  display: none;
}
.o-formBtns__btn--bgGreen:link, .o-formBtns__btn--bgGreen:visited, .o-formBtns__btn--bgGreen:hover {
  color: #fff;
}
.o-formBtns__btn--bgGreen:hover {
  background-color: #339900;
  opacity: 0.8;
}
.o-formBtns__btn--bgOrange {
  color: #fff;
  background: #f48b30;
  border: none;
}
.o-formBtns__btn--bgOrange::after {
  display: none;
}
.o-formBtns__btn--bgOrange:link, .o-formBtns__btn--bgOrange:visited, .o-formBtns__btn--bgOrange:hover {
  color: #fff;
}
.o-formBtns__btn--bgOrange:hover {
  background-color: #f48b30;
  opacity: 0.8;
}
@media screen and (max-width: 599px) {
  .o-modalBox__foot .o-formBtns__btn {
    max-width: 286px;
  }
}
.o-loginForm .o-formBtns__btn {
  width: 100%;
  max-width: 300px;
}
.o-formBtns__btn--cancell {
  color: #fff;
  background: #999999;
  border: none;
}
.o-formBtns__btn--cancell::after {
  display: none;
}
.o-formBtns__btn--cancell:visited, .o-formBtns__btn--cancell:hover {
  color: #fff;
}
.o-formBtns__btn--cancell:hover {
  background-color: #999999;
  opacity: 0.8;
}
.o-formBtns__btn--back {
  width: 140px;
  padding: 4px 10px;
  color: #333;
  background: #fff;
  border: solid 1px #b4b8bc;
}
.o-formBtns__btn--back::after {
  display: none;
}
.o-formBtns__btn--back:visited, .o-formBtns__btn--back:hover {
  color: #333;
}
.o-formBtns__btn--back:hover {
  background-color: white;
  opacity: 0.8;
}
.o-formBtns--w318 .o-formBtns__btn, .o-appCheckArea__btn .o-formBtns__btn {
  max-width: 318px;
  font-size: 1.125rem;
  line-height: 1.5555555556;
}
@media screen and (max-width: 599px) {
  .o-formBtns--w318 .o-formBtns__btn, .o-appCheckArea__btn .o-formBtns__btn {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}
.o-contentsBox--premiumBottom .o-formBtns__btn {
  max-width: 318px;
  font-size: 1.125rem;
  line-height: 1.5555555556;
}
@media screen and (max-width: 599px) {
  .o-contentsBox--premiumBottom .o-formBtns__btn {
    max-width: 350px;
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}
.o-formBtnsList .o-formBtns__btn {
  max-width: 350px;
}

/*
o-formParts
*************************** */
.o-formParts {
  display: flex;
}
@media screen and (max-width: 599px) {
  .o-formParts {
    display: block;
  }
}
.o-formParts + .o-formParts {
  margin-top: 21px;
}

.o-formLabel {
  display: flex;
  padding: 0 20px 0 0;
}
@media screen and (max-width: 599px) {
  .o-formLabel {
    padding: 0;
  }
}

.o-formParts__label {
  width: 262px;
  padding: 11px 0 0 0;
}
@media screen and (max-width: 599px) {
  .o-formParts__label {
    width: auto;
    padding: 0;
  }
}

.o-formLabel__mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 23px;
  font-size: 0.75rem;
  line-height: 1;
  background-color: #ddd;
}
.o-formLabel__mark--required {
  color: #fff;
  background-color: #c72626;
}

.o-formLabel__text {
  padding-top: 2px;
  font-size: 1rem;
  line-height: 1.375;
  font-weight: bold;
}
.o-formLabel__mark + .o-formLabel__text {
  margin-left: 14px;
}
.o-formLabel__text--select {
  color: #666;
  font-weight: 500;
}

.o-formAddBtn {
  display: flex;
  margin: 15px 0 0;
  padding-bottom: 3px;
}
@media screen and (max-width: 599px) {
  .o-formAddBtn {
    margin: 12px 0 0;
    padding-bottom: 4px;
  }
}

.o-formAddBtn__icon {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 6px 0 0;
  border-radius: 10px;
  border: solid 1px #ccc;
  background-color: #fff;
  box-sizing: border-box;
}
.o-formAddBtn__icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 10px;
  height: 1px;
  content: "";
  background-color: #339900;
  transform: translate(-50%, -50%);
}
.o-formAddBtn__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 1px;
  height: 10px;
  content: "";
  background-color: #339900;
  transform: translate(-50%, -50%);
}

.o-formAddBtn__txt {
  font-size: 1rem;
  line-height: 1.375;
}

.o-formParts__input {
  flex: 1;
}
@media screen and (max-width: 599px) {
  .o-formParts__input {
    margin-top: 12px;
  }
}
.o-formParts__input--img p {
  margin: 10px 0 0;
}
@media screen and (max-width: 599px) {
  .o-formParts__input--img p {
    margin: -5px 0 0;
  }
}
.o-formParts__input--text {
  display: flex;
}

.o-formInputText {
  align-self: center;
  margin-left: 10px;
}

.o-formHeadingText {
  margin: 15px 0 0;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.375;
  color: #333;
}
* + .o-formHeadingText {
  margin: 35px 0 0;
}
@media screen and (max-width: 599px) {
  * + .o-formHeadingText {
    margin: 24px 0 0;
  }
}

.o-othersInputArea {
  display: none;
  margin-top: 15px;
}
.o-othersInputArea p {
  font-size: 0.875rem;
  line-height: 1.5714285714;
  color: #333;
}
.o-othersInputArea.is-show {
  display: block;
}

.o-formInput {
  box-sizing: border-box;
  width: 100%;
  max-width: 302px;
  height: 45px;
  padding: 4px 17px 0;
  font-size: 1rem;
  line-height: 1.6875;
  color: #333;
  border-radius: 4px;
  background-color: #f5f5f5;
}
@media screen and (max-width: 599px) {
  .o-formInput {
    max-width: none;
  }
}
.o-formInput--long {
  max-width: none;
}
.o-formInput::-moz-placeholder {
  color: #666;
}
.o-formInput::placeholder {
  color: #666;
}
.o-formInput--error {
  background-color: #f4e6e6;
}
.o-formInput + .o-formInput {
  margin-top: 8px;
}
.o-othersInputArea * + .o-formInput {
  margin-top: 8px;
}
.o-formHeadingText + .o-formInput {
  margin-top: 8px;
}

.o-formSelect {
  position: relative;
  width: 100%;
  max-width: 302px;
  color: #333;
  border-radius: 4px;
  background-color: #f5f5f5;
}
@media screen and (max-width: 599px) {
  .o-formSelect {
    max-width: none;
  }
}
.o-formSelect::after {
  position: absolute;
  top: calc(50% + 2px);
  right: 14px;
  display: block;
  width: 10px;
  height: 5px;
  content: "";
  background-image: url(./img/svg/icon_arrow_gray.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateY(-50%);
}
.o-formSelect + .o-formSelect {
  margin-top: 8px;
}

.o-formSelect__main {
  box-sizing: border-box;
  width: 100%;
  height: 45px;
  padding: 4px 36px 0 17px;
  font-size: 1rem;
  line-height: 1.6875;
  background-color: #f5f5f5;
}

.o-formColumn {
  display: flex;
  gap: 0 14px;
}

.o-formColumn__item {
  width: 100%;
  max-width: 302px;
}

.o-formTextArea {
  box-sizing: border-box;
  width: 100%;
  min-height: 140px;
  padding: 12px 14px 0 17px;
  font-size: 1rem;
  line-height: 1.5;
  vertical-align: top;
  color: #333;
  border-radius: 4px;
  background-color: #f5f5f5;
}
@media screen and (max-width: 599px) {
  .o-formTextArea {
    min-height: 165px;
  }
}
.o-formTextArea--error {
  background-color: #f4e6e6;
}

.o-formRadioList {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 0;
  margin: 0;
  padding: 13px 0 0 0;
}
@media screen and (max-width: 599px) {
  .o-formRadioList {
    display: block;
    gap: 0;
    padding: 0;
  }
}

.o-formRadioList__item {
  width: 50%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 599px) {
  .o-formRadioList__item {
    width: 100%;
  }
  .o-formRadioList__item .o-formRadioList__item + .o-formRadioList__item {
    margin-top: 8px;
  }
}

.o-formRadioList__item::before {
  display: none;
}

.o-formRadio {
  position: relative;
}

.o-formRadio__input {
  position: absolute;
  top: 0;
  left: 0;
}

.o-formRadio__text {
  position: relative;
  display: inline-block;
  padding-left: 27px;
  font-size: 1rem;
  line-height: 1.6875;
  cursor: pointer;
}

.o-formRadio__text::before {
  position: absolute;
  top: 2px;
  left: 0;
  box-sizing: border-box;
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  content: "";
  border-radius: 50%;
  border: solid 1px #ccc;
  background-color: #fff;
}

.o-formRadio__input:checked + .o-formRadio__text::after {
  position: absolute;
  top: 7px;
  left: 5px;
  box-sizing: border-box;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0;
  content: "";
  border-radius: 50%;
  background-color: #339900;
}

.o-formCheckList {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 9px;
  margin: 0;
  padding: 11px 0 0;
}
@media screen and (max-width: 599px) {
  .o-formCheckList {
    padding: 1px 0 0;
  }
}
* + .o-formCheckList {
  margin-top: 0;
}
@media screen and (max-width: 599px) {
  * + .o-formCheckList {
    margin-top: 12px;
  }
}

.o-formCheckList__item {
  width: auto;
  margin: 0;
  padding: 0;
  line-height: 100%;
}
.o-formCheckList__item::before {
  display: none;
}

.o-formCheck {
  position: relative;
}

.o-formCheck__input {
  position: absolute;
  top: 0;
  left: 0;
}

.o-formCheck__text {
  position: relative;
  display: flex;
  align-items: center;
  width: auto;
  height: 30px;
  margin: 0;
  padding: 2px 15px;
  border-radius: 18px;
  border: solid 1px #ccc;
  background-color: #fff;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  cursor: pointer;
  box-sizing: border-box;
}
.o-formCheck__input:checked + .o-formCheck__text {
  padding: 2px 7px 2px 7px;
  color: #339900;
  border: solid 1px #339900;
}
.o-formCheck__input:checked + .o-formCheck__text::before {
  display: block;
  width: 10px;
  height: 7px;
  margin: -3px 6px 0 0;
  content: "";
  border-bottom: 2px solid #339900;
  border-left: 2px solid #339900;
  transform: rotate(-45deg);
  box-sizing: border-box;
}

.o-formCheck__input[readonly] + label {
  border: solid 1px #eff9ea;
  background-color: #eff9ea;
}

.o-formCheckBoxList {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 0;
  margin: 0;
  padding: 13px 0 0 0;
}
@media screen and (max-width: 599px) {
  .o-formCheckBoxList {
    display: block;
    gap: 0;
    padding: 0;
  }
}

.o-formCheckBoxList__item {
  width: 50%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 599px) {
  .o-formCheckBoxList__item {
    width: 100%;
  }
  .o-formCheckBoxList__item .o-formCheckList__item + .o-formCheckList__item {
    margin-top: 8px;
  }
}

.o-formCheckBox {
  position: relative;
}

.o-formCheckBox__input {
  position: absolute;
  top: 0;
  left: 0;
}

.o-formCheckBox__text {
  position: relative;
  display: inline-block;
  padding-left: 27px;
  font-size: 1rem;
  line-height: 1.6875;
  cursor: pointer;
}
.o-formCheckBox__text::before {
  position: absolute;
  top: 2px;
  left: 0;
  box-sizing: border-box;
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  content: "";
  border-radius: 2px;
  border: solid 1px #ccc;
  background-color: #fff;
}
.o-formCheckBox__input:checked + .o-formCheckBox__text::after {
  position: absolute;
  top: 7px;
  left: 5px;
  box-sizing: border-box;
  display: block;
  width: 11px;
  height: 6px;
  margin: 0;
  content: "";
  border-bottom: 2px solid #339900;
  border-left: 2px solid #339900;
  transform: rotate(-45deg);
}

.o-formErrorText {
  display: block;
  margin-top: 10px;
  color: #c72626;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}
.o-formRadioList + .o-formErrorText, .o-formCheckList + .o-formErrorText {
  margin-top: 5px;
}
.o-formConsent__check .o-formErrorText {
  margin-top: 6px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-formConsent__check .o-formErrorText {
    margin-top: 5px;
  }
}

.o-formInput[readonly],
.o-formTextArea[readonly] {
  background-color: #eff9ea;
}

.o-formRadio__input[readonly],
.o-formCheck__input[readonly],
.o-formCheckBox__input[readonly],
.o-formRadio__input[readonly] + label,
.o-formCheck__input[readonly] + label,
.o-formCheckBox__input[readonly] + label {
  pointer-events: none;
}

.o-formConsent {
  margin-top: 34px;
  border-top: 1px solid #ccc;
}

.o-formConsent__body {
  padding: 23px 0 0;
}

.o-formConsent__text {
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-formConsent__text {
    text-align: left;
    font-size: 1rem;
    line-height: 1.75;
  }
}

.o-formConsent__check {
  margin-top: 24px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-formConsent__check {
    margin-top: 21px;
  }
}

.o-formConsent__caution {
  margin-top: 39px;
  font-weight: bold;
  color: #c72626;
}

.o-formConsent__attention {
  max-width: 550px;
  margin: 11px auto 0;
}
@media screen and (max-width: 599px) {
  .o-formConsent__attention {
    margin-top: 11px;
  }
}

.o-attentionText {
  color: #444444;
  font-size: 0.75rem;
  line-height: 2;
}
.o-attentionText__red {
  color: #c72626;
}
.o-attentionText a {
  font-size: 0.75rem;
  line-height: 2;
}

.o-formConsent__check .o-formCheck {
  display: inline-block;
}

.o-formBtnList {
  text-align: center;
}
* + .o-formBtnList {
  margin-top: 21px;
}
@media screen and (max-width: 599px) {
  * + .o-formBtnList {
    margin-top: 22px;
  }
}

* + .o-formBtnList--modal {
  margin: 30px 0 15px;
}
@media screen and (max-width: 599px) {
  * + .o-formBtnList--modal {
    margin-top: 22px;
  }
}
.o-boxError__btn .o-formBtnList {
  margin-top: 5px;
}

.o-formBtnList__item {
  text-align: center;
}
.o-formBtnList__item + .o-formBtnList__item {
  margin-top: 30px;
}

.o-formLinkBtnWrap {
  display: inline-block;
  width: 100%;
  max-width: 350px;
}

.o-formLinkBtn {
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  max-width: 350px;
  padding: 10px 10px 9px;
  border-radius: 4px;
  background-color: #999;
  text-decoration: none;
  cursor: pointer;
}
.o-formLinkBtn--return {
  max-width: 140px;
  padding: 2px 10px 3px;
  border-radius: 4px;
  border: solid 1px #b4b8bc;
  background-color: #fff;
}
.o-formLinkBtn.is-active {
  background-color: #339900;
}
.o-formLinkBtn.is-active:hover {
  opacity: 0.8;
}
.o-newEntry__btn .o-formLinkBtn {
  max-width: 318px;
}
.o-formLinkBtn--small {
  max-width: 319px;
  padding: 6px 10px;
}
.o-formLinkBtn--returnTop {
  max-width: 200px;
  padding: 2px 10px 3px;
  border-radius: 4px;
  border: solid 1px #b4b8bc;
  background-color: #fff;
}
.o-formLinkBtn--close {
  max-width: 140px;
  padding: 2px 10px 3px;
  border-radius: 4px;
  border: solid 1px #b4b8bc;
  background-color: #fff;
}
.o-formLinkBtn--w318 {
  max-width: 318px;
}
.o-formLinkBtn--outSide {
  background-color: #339900;
}
.o-formLinkBtn--outSide::after {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: -2px 0 0 9px;
  content: "";
  vertical-align: middle;
  background-image: url(./img/svg/icon_cache.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-boxError__btn .o-formLinkBtn {
  max-width: 310px;
}
.o-contractCard__err .o-formLinkBtn {
  max-width: 286px;
  padding: 8px 10px 4px;
}
.o-formLinkBtn--plus {
  display: flex;
  align-items: center;
  padding: 10px 18px 9px 19px;
  text-align: left;
  border: 1px solid #339900;
  border-radius: 6px;
  background-color: #fff;
}

.o-formLinkBtn__text {
  color: #fff;
  font-weight: bold;
}
.o-formLinkBtn--return .o-formLinkBtn__text, .o-formLinkBtn--returnTop .o-formLinkBtn__text, .o-formLinkBtn--close .o-formLinkBtn__text {
  color: #333;
  font-size: 0.875rem;
  line-height: 2;
}
.o-formLinkBtn--plus .o-formLinkBtn__text {
  color: #339900;
  font-weight: bold;
  padding-right: 5px;
}

.o-formLinkBtn__iconLink {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: -3px 0 0 6px;
  vertical-align: middle;
}
.o-formLinkBtn__iconLink::before, .o-formLinkBtn__iconLink::after {
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  content: "";
  border: solid 1px #fff;
  box-sizing: border-box;
}
.o-formLinkBtn__iconLink::before {
  top: 0;
  right: 0;
}
.o-formLinkBtn__iconLink::after {
  bottom: 0;
  left: 0;
}

.o-formLinkBtn__iconplus {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: auto;
  background-color: #349900;
  border-radius: 50%;
}
.o-formLinkBtn__iconplus::before, .o-formLinkBtn__iconplus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 8px;
  height: 2px;
  content: "";
  background-color: #fff;
  transform: translate(-50%, -50%);
}
.o-formLinkBtn__iconplus::after {
  transform: translate(-50%, -50%) rotate(-90deg);
}

* + .o-compTextArea {
  margin-top: 25px;
}

.o-compText {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  text-align: center;
}

/*
o-stepbar
*************************** */
.o-stepbar {
  width: 100%;
  max-width: 598px;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .o-stepbar {
    width: auto;
  }
}
.o-stepbar + .o-stepbar {
  margin-top: 50px;
}

.o-stepbar__list {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.o-stepbar--three .o-stepbar__list {
  margin: 0 calc(-16.6666666667% - 22px);
}
@media screen and (max-width: 959px) {
  .o-stepbar--three .o-stepbar__list {
    margin: 0 calc(-16.6666666667% + 32px);
  }
}
.o-stepbar--four .o-stepbar__list {
  margin: 0 -12.5%;
}
@media screen and (max-width: 959px) {
  .o-stepbar--four .o-stepbar__list {
    margin: 0 calc(-12.5% + 40px);
  }
}
.o-stepbar--five .o-stepbar__list {
  margin: 0 calc(-10% + 8px);
}
@media screen and (max-width: 959px) {
  .o-stepbar--five .o-stepbar__list {
    margin: 0 calc(-10% + 42px);
  }
}

.o-stepbar__list__item {
  position: relative;
  list-style-type: none;
  text-align: center;
  margin: 0;
  padding: 0;
  color: #999999;
  font-weight: bold;
  line-height: 100%;
}
.o-stepbar--three .o-stepbar__list__item {
  width: 33.3333333333%;
}
.o-stepbar--four .o-stepbar__list__item {
  width: 25%;
}
.o-stepbar--five .o-stepbar__list__item {
  width: 20%;
}

.o-stepbar__list__item:before {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  content: "";
  line-height: 26px;
  font-size: 12px;
  text-align: center;
  border-radius: 50%;
  background-color: #ccc;
}

.o-stepbar__list__item:after {
  position: absolute;
  z-index: -1;
  top: 15px;
  left: -50%;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #ccc;
}

.o-stepbar__list__item:first-child:after {
  content: none;
}

.o-stepbar__list__item.is-active,
.o-stepbar__list__item.is-complete {
  color: #339900;
}

.o-stepbar__list__item.is-active:before,
.o-stepbar__list__item.is-complete:before {
  background-color: #339900;
  color: #FFF;
}

.o-stepbar__list__item.is-active:after,
.o-stepbar__list__item.is-complete:after {
  background-color: #339900;
}

.o-stepbar__list__text {
  position: relative;
  display: inline-block;
  margin: 6px 0 0;
  font-size: 0.75rem;
  line-height: 1.5;
}
.o-stepbar__list__item.is-active .o-stepbar__list__text:after, .o-stepbar__list__item.is-complete .o-stepbar__list__text:after {
  position: absolute;
  top: -32px;
  left: calc(50% - 2px);
  display: block;
  width: 14px;
  height: 7px;
  content: "";
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(-45deg) translateX(-50%);
  box-sizing: border-box;
}

.o-imgColumn {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.o-imgColumn__item {
  width: 100px;
  margin: 0;
  padding: 0;
}
.o-imgColumn__item::before {
  display: none;
}

.o-imgRadio {
  position: relative;
}

.o-imgRadio__input {
  position: absolute;
}

.o-imgRadio__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  cursor: pointer;
  box-sizing: border-box;
}
.o-imgRadio__input:checked + .o-imgRadio__label {
  border: 1px solid #B4B8BC;
  border-radius: 4px;
}
.o-imgRadio__label:hover {
  opacity: 0.8;
}
.o-imgRadio__input[readonly] + .o-imgRadio__label:hover {
  opacity: 1;
}

.o-imgRadio__img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 80px;
  height: 80px;
}

/*
o-formAddContents
*************************** */
.o-formAddContents + .o-formAddContents {
  margin-top: 24px;
  padding-top: 19px;
  border-top: 1px solid #cccccc;
}

/*
o-formHeadingText
*************************** */
.o-formHeadingText {
  margin: 15px 0 0;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}
.o-formAddContents + .o-formAddContents .o-formHeadingText {
  margin-top: 0;
}
.o-formInput + .o-formHeadingText, .o-formAddContents + .o-formAddContents .o-formInput + .o-formHeadingText {
  margin-top: 12px;
}

/*
o-formProfImg
*************************** */
.o-formProfImg {
  position: relative;
  width: 100px;
  height: 100px;
  cursor: pointer;
  border-radius: 50%;
}
@media screen and (max-width: 599px) {
  .o-formProfImg {
    margin: 0 auto;
  }
}
.o-formProfImg:hover {
  opacity: 0.8;
}
.o-formProfImg::after {
  position: absolute;
  top: 2px;
  right: 0;
  display: block;
  width: 26px;
  height: 26px;
  content: "";
  background-image: url(./img/svg/icon_pen.svg);
  background-color: #339900;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  border-radius: 50%;
}
.o-formProfImg--conf:hover {
  opacity: 1;
}
.o-formProfImg--conf::after {
  display: none;
}

.o-formProfImg__img {
  border-radius: 50%;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100px;
  height: 100px;
}

/* ***************************
o-modalBox
*************************** */
.o-modalBox {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.o-modalBox:before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #8a8d91;
  opacity: 0.8;
}
.o-modalBox.is-hidden {
  display: none;
}

.o-modalBox__inner {
  position: relative;
  max-height: calc(100% - 20px);
  background: #fff;
  border-radius: 5px;
  overflow: auto;
}
@media screen and (min-width: 600px) {
  .o-modalBox__inner {
    width: 100%;
    min-width: 540px;
    max-width: 920px;
  }
  .o-modalBox__inner--wide {
    width: 100%;
  }
  .o-modalBox__inner--narrow {
    width: 30%;
  }
}
@media screen and (max-width: 599px) {
  .o-modalBox__inner {
    width: calc(100% - 32px);
  }
}

.o-modalBox__head {
  padding: 8px 5px 7px 41px;
  background: #390;
  font-size: 1.25rem;
  line-height: 1.7;
  color: #fff;
  font-weight: bold;
}
.o-modalBox__head:before {
  position: absolute;
  content: "";
  display: block;
  width: 6px;
  height: 22px;
  top: 14px;
  left: 19px;
  background: #e7ec54;
  border-radius: 3px;
}

.o-modalBox__body {
  padding: 25px 20px 25px;
}
@media screen and (max-width: 599px) {
  .o-modalBox__body {
    padding: 25px 24px 25px;
  }
}

.o-modalBox__foot {
  padding: 0 20px 18px;
  border-top: 1px solid #878787;
}

/*
 vue transition
*************************** */
.o-modalBox {
  opacity: 1;
  transition: opacity 0.5s;
}
.o-modalBox.modal-enter, .o-modalBox.modal-leave-to {
  opacity: 0;
}

.o-modalBox__inner {
  transition: transform 0.3s;
}
.modal-enter .o-modalBox__inner, .modal-leave-to .o-modalBox__inner {
  transform: scale(1.1);
}

/*
memberEntry
*************************** */
.o-memberEntry__head {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-weight: bold;
  color: #339900;
  font-size: 1.4375rem;
  line-height: 1.5652173913;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-memberEntry__head {
    font-size: 1.25rem;
    line-height: 1.7;
  }
}
.o-memberEntry__head span {
  display: flex;
}
.o-memberEntry__head span::before {
  display: block;
  width: 1px;
  height: 28px;
  content: "";
  background-color: #339900;
  rotate: -45deg;
  translate: -15px 5px;
}
@media screen and (max-width: 599px) {
  .o-memberEntry__head span::before {
    height: 25px;
  }
}
.o-memberEntry__head span::after {
  display: block;
  width: 1px;
  height: 28px;
  content: "";
  background-color: #339900;
  rotate: 45deg;
  translate: 15px 5px;
}
@media screen and (max-width: 599px) {
  .o-memberEntry__head span::after {
    height: 25px;
  }
}

.o-memberEntry__lead {
  margin-top: 15px;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 599px) {
  .o-memberEntry__lead {
    font-size: 0.9375rem;
    line-height: 1.6666666667;
  }
}

.o-memberEntry__txt {
  margin-top: 20px;
  font-size: 1rem;
  line-height: 1.875;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-memberEntry__txt {
    font-size: 0.8125rem;
    line-height: 1.8461538462;
  }
}

.o-memberEntry__login {
  margin-top: 25px;
  text-align: center;
}

.o-memberEntry__btn {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 10px;
}

.o-memberEntryBtn {
  display: flex;
  width: 100%;
  max-width: 320px;
  justify-content: center;
  overflow: hidden;
  border-radius: 5px;
  cursor: pointer;
}
.o-memberEntryBtn img {
  -o-object-fit: cover;
     object-fit: cover;
  width: auto;
  height: 48px;
  max-width: none;
}
@media screen and (min-width: 600px) {
  .o-memberEntryBtn:hover {
    opacity: 0.7;
  }
}

.o-memberEntry__close {
  margin-top: 30px;
  text-align: center;
}

/* ***************************
o-searchForm
*************************** */
.o-searchForm__body {
  padding-top: 15px;
}

* + .o-searchForm__footer {
  margin-top: 40px;
}

/*
o-searchItem
*************************** */
.o-searchItem {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
* + .o-searchItem {
  margin-top: 20px;
}

.o-searchItem__left {
  width: 140px;
  margin-top: 3px;
  margin-right: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-searchItem__left {
    width: 100%;
    margin: 0;
  }
}

.o-searchItem__ttl {
  font-size: 87.5%;
  line-height: 172%;
  font-weight: bold;
}

.o-searchItem__right {
  width: calc(100% - 150px);
}
@media screen and (max-width: 599px) {
  .o-searchItem__right {
    width: 100%;
    margin-top: 5px;
  }
}

/*-- text --*/
.o-searchItem__text input {
  display: block;
  width: 100%;
  height: 30px;
  padding: 5px 20px;
  background: #fff;
  border: 1px solid #999;
  border-radius: 5px;
  box-sizing: border-box;
}

/*-- checkbox --*/
.o-searchItem__checkbox {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px;
}

.o-searchItem__checkbox__item {
  width: 25%;
  margin: 4px 0 0;
  padding: 0 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-searchItem__checkbox__item {
    width: 50%;
  }
}
.o-searchItem__checkbox__item label {
  position: relative;
  display: block;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.o-searchItem__checkbox__item input[type=checkbox] {
  display: none;
}
.o-searchItem__checkbox__item span {
  position: relative;
  padding-left: 24px;
  color: #999;
}
.o-searchItem__checkbox__item span:before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 1px;
  left: 0;
  background: #fff;
  border: 1px solid #999;
  border-radius: 5px;
  box-sizing: border-box;
}
.o-searchItem__checkbox__item input[type=checkbox] + span {
  color: #333;
}
.o-searchItem__checkbox__item input[type=checkbox]:checked + span:before {
  background-color: #390;
  border-color: #390;
}
.o-searchItem__checkbox__item input[type=checkbox]:checked + span:after {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  top: 6px;
  left: 3px;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
  box-sizing: border-box;
}

/*-- tag --*/
.o-searchItem__tags {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
}

.o-searchItem__tags__item {
  display: inline-block;
  margin: 10px 0 0;
  padding: 0 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-searchItem__tags__item {
    width: 50%;
  }
}
.o-searchItem__tags__item label {
  position: relative;
  display: block;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.o-searchItem__tags__item input[type=checkbox] {
  display: none;
}
.o-searchItem__tags__item span {
  position: relative;
  display: block;
  width: 100%;
  padding: 3px 15px 1px;
  background: #fff;
  border: 1px solid #390;
  font-size: 87.5%;
  line-height: 172%;
  color: #333;
  text-align: center;
  border-radius: 5px;
  box-sizing: border-box;
}
.o-searchItem__tags__item input[type=checkbox]:checked + span {
  background-color: #390;
  color: #fff;
}

/* ***************************
o-searchResult
*************************** */
.o-searchResult {
  padding-top: 15px;
}

.o-searchResult__form {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

.o-searchResult__form__word {
  position: relative;
  display: flex;
  width: calc(100% - 140px);
}

.o-searchResult__form__input {
  width: calc(100% - 68px);
  height: 30px;
  padding: 0 0 0 12px;
  background: #fff;
  border: 1px solid #999;
  border-radius: 5px 0 0 5px;
  box-sizing: border-box;
}
.o-searchResult__form--show .o-searchResult__form__input, .o-searchResult__form--open .o-searchResult__form__input {
  width: 100%;
  border-radius: 5px;
}

.o-searchResult__form__submit {
  width: 68px;
  height: 30px;
  background: #999;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  border-radius: 0 5px 5px 0;
  box-sizing: border-box;
}
.o-searchResult__form__submit:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 19px;
  margin: -2px 0 0 6px;
  background: url("./img/icon_search.png") center center no-repeat;
  background-size: 18px 19px;
  vertical-align: middle;
}
.o-searchResult__form--show .o-searchResult__form__submit, .o-searchResult__form--open .o-searchResult__form__submit {
  display: none;
}

.o-searchResult__form__toggle {
  width: 130px;
  margin-left: 10px;
}
.o-searchResult__form__toggle button {
  width: 100%;
  height: 30px;
  padding: 0 5px;
  background: #fff;
  border: 1px solid #999;
  color: #333;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
.o-searchResult__form--show .o-searchResult__form__toggle button, .o-searchResult__form--open .o-searchResult__form__toggle button {
  background-color: #390;
  border-color: #390;
  color: #fff;
}

.o-searchResult__form__advanced {
  display: none;
  padding: 15px 20px 30px;
  background: #fff;
  border-radius: 5px;
  margin: 15px 0 20px;
}
.o-searchResult__form--show .o-searchResult__form__advanced {
  display: block;
}

.o-searchResult__link {
  display: flex;
  justify-content: flex-end;
}
* + .o-searchResult__link {
  margin-top: 15px;
}

.o-searchResult__content {
  padding: 15px 20px 30px;
  background: #fff;
  border-radius: 5px;
}
* + .o-searchResult__content {
  margin-top: 15px;
}

.o-searchResult__items__item + .o-searchResult__items__item {
  margin-top: 15px;
}

* + .o-searchResult__pagination {
  margin-top: 30px;
}

/*
o-resultItem
*************************** */
.o-resultItem {
  position: relative;
  padding: 0 0 16px;
}
.o-resultItem:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, transparent 0, transparent 1px, #999 1px, #999 6px) right center repeat;
  background-size: 6px 1px;
}

.o-resultItem__ttl {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 100%;
  line-height: 163%;
  font-weight: normal;
}
.o-resultItem__ttl:after {
  content: none !important;
}
.o-resultItem__ttl a {
  color: #0000ff;
  text-decoration: underline;
}
.o-resultItem__ttl a:link, .o-resultItem__ttl a:visited {
  color: #0000ff;
}
.o-resultItem__ttl a:hover {
  color: #0000ff;
  text-decoration: none;
}

.o-resultItem__url {
  margin: 0;
  font-size: 87.5%;
  line-height: 172%;
}
.o-resultItem__url a {
  color: #006621;
  text-decoration: none;
}
.o-resultItem__url a:link, .o-resultItem__url a:visited {
  color: #006621;
  text-decoration: none;
}
.o-resultItem__url a:hover {
  color: #006621;
  text-decoration: underline;
}

.o-resultItem__text {
  margin: 0;
  font-size: 87.5%;
  line-height: 172%;
}

/* ***************************
o-columnList
*************************** */
.o-columnList {
  position: relative;
}
* + .o-columnList {
  margin-top: 32px;
}

.o-columnList + .o-columnList {
  margin-top: 25px;
}
@media screen and (max-width: 599px) {
  .o-columnList + .o-columnList {
    margin-top: 15px;
  }
}
.o-relationBox .o-columnList {
  margin-top: 15px;
}

@media screen and (max-width: 599px) {
  .o-columnList--toppage {
    padding-bottom: 18px;
  }
}

.o-columnList__body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: -31px -8px 0;
}
@media screen and (max-width: 599px) {
  .o-columnList__body {
    display: block;
    margin: 0 0 0;
  }
}
.o-columnList--ranking .o-columnList__body {
  margin: -25px -5px 0;
}
@media screen and (max-width: 599px) {
  .o-columnList--ranking .o-columnList__body {
    display: block;
    margin: -13px 0 0;
  }
}
.o-columnList--favorite .o-columnList__body {
  align-items: normal;
}

.o-columnList__item {
  margin: 31px 0 0;
  padding: 0 8px;
  width: 25%;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-columnList__item {
    margin-top: 11px;
    padding: 0;
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .o-columnList__item + .o-columnList__item {
    margin-top: 25px;
  }
}
.o-columnList__item:before {
  content: none !important;
}
.o-columnList:not(.o-columnList--toppage) .o-columnList__item:nth-child(n+9) {
  animation: fade 1.5s ease 0s 1 normal;
}

@media screen and (min-width: 600px) {
  .o-columnList--side .o-columnList__item {
    width: 100%;
  }
}

.o-columnList--ranking .o-columnList__item {
  width: 20%;
  margin-top: 25px;
  padding: 0 5px;
}
@media screen and (max-width: 599px) {
  .o-columnList--ranking .o-columnList__item {
    width: 100%;
    margin-top: 15px;
    padding: 0;
  }
}
@media screen and (max-width: 599px) {
  .o-columnList--ranking .o-columnList__item + .o-columnList__item {
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px dotted #ccc;
  }
}
@media screen and (max-width: 599px) {
  .o-columnList--spTwoColumn .o-columnList__item:nth-child(n+3) {
    display: none;
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.o-columnList__more {
  display: flex;
  justify-content: center;
}
* + .o-columnList__more {
  margin-top: 30px;
}
@media screen and (max-width: 599px) {
  * + .o-columnList__more {
    margin-top: 15px;
  }
}

.o-columnList__more__btn {
  position: relative;
  display: block;
  width: 100%;
  max-width: 320px;
  padding: 11px 20px 11px 40px;
  background: #fff;
  border: 2px solid #390;
  font-size: 87.5%;
  line-height: 172%;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .o-columnList__more__btn {
    max-width: 100%;
    min-width: 200px;
    padding: 7px 20px 7px 35px;
    border-width: 1px;
    font-size: 107.1428571429%;
    line-height: 160%;
  }
}
.o-columnList__more__btn:link, .o-columnList__more__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-columnList__more__btn:before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  background: url("./img/icon_circle_arrow.png") 0 0 no-repeat;
  background-size: 100% 500%;
  transform: rotate(90deg);
}
@media screen and (max-width: 599px) {
  .o-columnList__more__btn:before {
    width: 15px;
    height: 15px;
    left: 15px;
  }
}
.o-columnList__more__btn:hover {
  color: #fff;
  background-color: #390;
}
.o-columnList__more__btn:hover:before {
  background-position: 0 100%;
}

/*
o-contentCard
*************************** */
.o-contentCard--favorite {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.o-contentCard__inner {
  position: relative;
  display: block;
  color: #333;
  text-decoration: none;
}
.o-contentCard__inner:link, .o-contentCard__inner:visited, .o-contentCard__inner:hover {
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .o-contentCard__inner {
    display: flex;
    gap: 0 15px;
  }
}
@media screen and (min-width: 600px) {
  .o-columnList--side .o-contentCard__inner {
    min-height: 100px;
    padding-left: 170px;
  }
}

@media screen and (max-width: 599px) {
  .o-columnList--ranking .o-contentCard__inner {
    display: flex;
    gap: 0 10px;
  }
}

.o-contentCard__num {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #fff;
  font-weight: bold;
  font-family: "Roboto";
  font-size: 1rem;
  line-height: 1.375;
  background-color: #d1b203;
}
.o-contentCard__num--first {
  background-color: #d1b203;
}
.o-contentCard__num--second {
  background-color: #808080;
}
.o-contentCard__num--third {
  background-color: #752100;
}
.o-contentCard__num--fourth {
  background-color: #333;
}
.o-contentCard__num--fifth {
  background-color: #333;
}

.o-contentCard__img {
  position: relative;
  margin-bottom: 19px;
  padding-top: 57.6923076923%;
  background: #fff;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-contentCard__img {
    width: 32.8358208955%;
    margin-bottom: 0;
    padding-top: 0;
    background-color: transparent;
  }
}
.o-columnList--ranking .o-contentCard__img {
  margin-bottom: 9px;
  padding-top: 60.7142857143%;
}
@media screen and (max-width: 599px) {
  .o-columnList--ranking .o-contentCard__img {
    flex-shrink: 0;
    width: 100px;
    padding-top: 62px;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 600px) {
  .o-columnList--side .o-contentCard__img {
    position: absolute;
    width: 150px;
    padding-top: 100px;
    top: 0;
    left: 0;
    margin: 0;
  }
}

.o-contentCard__img img {
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transition: transform 0.4s ease-in-out;
  transform: scale(1) translateY(-50%);
  transform-origin: center center;
}
.o-contentCard__inner:hover .o-contentCard__img img {
  transform: scale(1.15) translateY(-50%);
}
@media screen and (max-width: 599px) {
  .o-contentCard__inner:hover .o-contentCard__img img {
    transform: none;
  }
}

@media screen and (max-width: 599px) {
  .o-contentCard__img img {
    position: relative;
    top: 0;
    transform: none;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 83px;
  }
}
.o-contentCard__num + .o-contentCard__img {
  margin-top: 0;
}
.o-contentCard--movie .o-contentCard__img {
  position: relative;
}
.o-contentCard--movie .o-contentCard__img::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.45);
}
.o-contentCard--movie .o-contentCard__img::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  width: 46px;
  height: 46px;
  content: "";
  background-image: url(./img/svg/icon_movie.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
}
.o-columnList--toppage .o-contentCard__img {
  margin-bottom: 20px;
  padding-top: 57.3394495413%;
}
@media screen and (max-width: 599px) {
  .o-columnList--toppage .o-contentCard__img {
    width: 32.8358208955%;
    margin-bottom: 0;
    padding-top: 0;
    background-color: transparent;
  }
}

.o-contentCard__ttl {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-contentCard__ttl {
    flex: 1;
    margin-top: -6px;
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}
.o-contentCard__ttl:before {
  content: none !important;
}
.o-columnList--ranking .o-contentCard__ttl {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-columnList--ranking .o-contentCard__ttl {
    margin: 1px 0 0;
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}
.o-contentCard--favorite .o-contentCard__ttl {
  font-weight: 500;
}
.o-columnList--toppage .o-contentCard__ttl {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: medium;
  font-feature-settings: "palt";
}
@media screen and (max-width: 599px) {
  .o-columnList--toppage .o-contentCard__ttl {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}

.o-contentCard__date {
  display: block;
  font-size: 75%;
  line-height: 184%;
}
@media screen and (max-width: 599px) {
  .o-contentCard__date {
    font-size: 85.7142857143%;
    line-height: 184%;
  }
}

.o-contentCard__btn {
  display: flex;
  width: 100%;
  justify-content: center;
  margin-top: 12px;
}

.o-contentCard__overview {
  font-size: 0.875rem;
  line-height: 1.5714285714;
}
* + .o-contentCard__overview {
  margin-top: 6px;
}

.o-contentCard__cancell {
  margin-top: auto;
  padding-top: 5px;
}

/* ***************************
o-keywordList
*************************** */
* + .o-keywordList {
  margin-top: 20px;
}

.o-keywordList__body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: -10px -5px 0;
}
@media screen and (max-width: 599px) {
  .o-keywordList__body {
    margin: -8px -5px 0;
  }
}

.o-keywordList__item {
  margin: 10px 0 0;
  padding: 0 5px;
  box-sizing: border-box;
}
.o-keywordList__item--width6 {
  width: 50%;
}
@media screen and (max-width: 599px) {
  .o-keywordList__item--width6 {
    width: 100%;
  }
}
.o-keywordList__item:before {
  content: none !important;
}
@media screen and (max-width: 599px) {
  .o-keywordList__item {
    margin: 8px 0 0;
  }
  .o-topSection--series .o-keywordList__item:nth-child(n+6) {
    display: none;
  }
}

.o-keywordList__link {
  display: block;
  padding: 7px 13px 5px;
  background: #fff;
  border: solid 2px #390;
  border-radius: 5px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .o-keywordList__link {
    padding: 6px 14px 4px;
    border-width: 1px;
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}
.o-keywordList__link:link, .o-keywordList__link:visited {
  color: #333;
  text-decoration: none;
}
.o-keywordList__link:hover {
  background: #390;
  color: #fff;
  text-decoration: none;
}

.o-keywordList__newMark {
  display: inline-block;
  margin: -4px 0 0 6px;
  padding: 4px 5px 3px;
  background: #cc7606;
  font-size: 71.4285714286%;
  line-height: 100%;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-keywordList__newMark {
    padding: 3px 3px;
    font-size: 71.4285714286%;
    line-height: 100%;
  }
}

/* ***************************
o-newsList
*************************** */
.o-newsList__body {
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.o-newsList--emergency .o-newsList__body {
  background: #fff;
  border: 1px solid #b90f0f;
}

.o-newsList__item {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 61px;
  margin: 0;
  padding: 13px 10px 13px 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-newsList__item {
    padding: 14px 10px 11px 14px;
  }
}
.o-newsList .o-newsList__item:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, transparent 0, transparent 1px, #999 1px, #999 6px) right center repeat;
  background-size: 6px 1px;
}

.o-newsList--emergency .o-newsList__item {
  padding: 12px 9px 12px 19px;
}
@media screen and (max-width: 599px) {
  .o-newsList--emergency .o-newsList__item {
    padding: 4px 9px 17px 13px;
  }
}
.o-newsList--emergency .o-newsList__item:after {
  width: calc(100% - 20px);
  right: 0;
  margin: auto;
}
.o-newsList--emergency .o-newsList__item:last-child:after {
  content: none;
}

.o-newsList__item:before {
  content: none !important;
}

.o-newsList__more {
  display: flex;
  justify-content: center;
}
* + .o-newsList__more {
  margin-top: 30px;
}
@media screen and (max-width: 599px) {
  * + .o-newsList__more {
    margin-top: 15px;
  }
}

.o-newsList__more__btn {
  position: relative;
  display: block;
  width: 100%;
  max-width: 320px;
  padding: 11px 20px 11px 40px;
  background: #fff;
  border: 2px solid #390;
  font-size: 87.5%;
  line-height: 172%;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .o-newsList__more__btn {
    max-width: 100%;
    min-width: 200px;
    padding: 7px 20px 7px 35px;
    border-width: 1px;
    font-size: 107.1428571429%;
    line-height: 160%;
  }
}
.o-newsList__more__btn:link, .o-newsList__more__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-newsList__more__btn:before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  background: url("./img/icon_circle_arrow.png") 0 0 no-repeat;
  background-size: 100% 500%;
  transform: rotate(90deg);
}
@media screen and (max-width: 599px) {
  .o-newsList__more__btn:before {
    width: 15px;
    height: 15px;
    left: 15px;
  }
}
.o-newsList__more__btn:hover {
  color: #fff;
  background-color: #390;
}
.o-newsList__more__btn:hover:before {
  background-position: 0 100%;
}

/*
o-newsLink
*************************** */
.o-newsLink {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.o-newsLink__info {
  position: relative;
  width: 214px;
  margin-right: 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-newsLink__info {
    width: 225px;
    margin-right: 0;
  }
}

.o-newsLink__date {
  font-size: 1rem;
  line-height: 1.6875;
}
@media screen and (max-width: 599px) {
  .o-newsLink__date {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}

.o-newsLink__label {
  position: absolute;
  width: 80px;
  margin: 0;
  padding: 4px 5px;
  top: 2px;
  right: 0;
  background: #ccc;
  font-size: 75%;
  line-height: 100%;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-newsLink__label {
    width: 100px;
    font-size: 0.75rem;
    line-height: 1;
    padding: 5px 5px 3px;
  }
}
.o-newsLink__label--emergency {
  background-color: #b90f0f;
}
.o-newsLink__label--info {
  background-color: #007799;
}
.o-newsLink__label--update {
  background-color: #00997e;
}

.o-newsLink__ttl {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-weight: normal;
}
.o-newsLink__ttl:before {
  content: none !important;
}
@media screen and (min-width: 600px) {
  .o-newsLink__ttl {
    flex: 1;
    width: calc(100% - 234px);
  }
}
@media screen and (max-width: 599px) {
  .o-newsLink__ttl {
    width: 100%;
    margin-top: 1px;
  }
}
.o-newsLink__ttl a {
  font-size: 1rem;
  line-height: 1.5;
  color: #333;
  text-decoration: none;
}
.o-newsLink__ttl a:hover {
  color: #333;
  text-decoration: underline;
}
.o-newsLink__ttl a:visited {
  color: #800080;
}
@media screen and (max-width: 599px) {
  .o-newsLink__ttl a {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}

.o-newsLink__newMark {
  display: inline-block;
  width: 45px;
  margin: -4px 0 0 10px;
  padding: 5px 3px 4px;
  background: #cc7606;
  font-size: 85.7142857143%;
  line-height: 100%;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-newsLink__newMark {
    padding: 4px 3px;
    font-size: 85.7142857143%;
    line-height: 100%;
  }
}

/* ***************************
o-newsList
*************************** */
.o-yearLinks {
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 600px) {
  .o-yearLinks {
    margin-bottom: 5px;
  }
}
.o-yearLinks__body {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
  padding: 0;
}
@media screen and (max-width: 599px) {
  .o-yearLinks__body {
    display: none;
  }
}

.o-yearLinks__item {
  margin: 10px 0 0;
  padding: 0 5px;
  box-sizing: border-box;
}
.o-yearLinks__item:before {
  content: none !important;
}

.o-yearLinks__btn {
  display: block;
  padding: 8px 20px 6px;
  background: #fff;
  border: solid 2px #390;
  border-radius: 5px;
  font-size: 87.5%;
  line-height: 158%;
  font-weight: bold;
  color: #333;
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .o-yearLinks__btn {
    padding: 3px 18px;
    border-width: 1px;
    font-size: 100%;
    line-height: 158%;
  }
}
.o-yearLinks__btn:link, .o-yearLinks__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-yearLinks__btn:hover, .o-yearLinks__btn--active {
  background: #390;
  color: #fff !important;
  text-decoration: none;
}

.o-yearLinks__sp {
  position: relative;
  display: none;
}
.o-yearLinks__sp select {
  padding: 3px 30px 3px 18px;
  background: #fff;
  border: solid 2px #390;
  font-size: 100%;
  line-height: 158%;
  border-radius: 5px;
  font-weight: bold;
  color: #333;
}
.o-yearLinks__sp:after {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  top: -4px;
  right: 15px;
  bottom: 0;
  margin: auto;
  border: solid #333;
  border-width: 0 2px 2px 0;
  box-sizing: border-box;
  transform: rotate(45deg);
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .o-yearLinks__sp {
    display: inline-block;
  }
}

/* ***************************
o-contentsBox
*************************** */
.o-contentsBox {
  padding: 20px 20px 25px;
  background: #fff;
  border-radius: 8px;
}
@media screen and (max-width: 599px) {
  .o-contentsBox {
    padding: 20px 15px 25px;
  }
}
.o-contentsBox + .o-contentsBox {
  margin-top: 20px;
}
.o-contentsBox--error {
  padding: 15px 20px 14px;
  border: solid 1px #c72626;
}
@media screen and (max-width: 599px) {
  .o-contentsBox--premium {
    margin-top: 40px;
  }
}
.o-meritArea + .o-contentsBox {
  margin-top: 50px;
}
@media screen and (max-width: 599px) {
  .o-contentsBox--premiumBottom {
    margin: 40px -20px 0;
    padding: 20px 20px 40px;
  }
}

/* ***************************
o-boxError
*************************** */
.o-boxError__txt {
  color: #c72626;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
.o-boxError__btn + .o-boxError__txt {
  margin-top: 6px;
  text-align: center;
}
.o-contractCard__err .o-boxError__txt {
  font-size: 0.8125rem;
  line-height: 1.5384615385;
}

.o-boxError__btn {
  margin: 14px 0 0;
}

.o-contentsLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 26px;
  margin: 10px auto 0;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #fff;
  font-weight: bold;
  background-color: #c72626;
}

.o-contentsLargeText {
  margin: 23px 0 23px;
  font-size: 1.375rem;
  line-height: 1.1818181818;
  font-weight: bold;
  text-align: center;
}
.o-contentsLargeText span {
  font-size: 1rem;
  line-height: 1.625;
}

.o-noteText {
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  text-align: center;
}

/* ***************************
o-paintBox
*************************** */
.o-paintBox {
  display: block;
  width: 100%;
  height: auto;
  border: none;
}
.o-paintBox > thead, .o-paintBox > tbody, .o-paintBox > tfoot {
  display: block;
}
.o-paintBox > thead > tr, .o-paintBox > tbody > tr, .o-paintBox > tfoot > tr {
  display: flex;
  width: 100%;
  flex-direction: column;
}
.o-paintBox > thead > tr > th, .o-paintBox > thead > tr > td, .o-paintBox > tbody > tr > th, .o-paintBox > tbody > tr > td, .o-paintBox > tfoot > tr > th, .o-paintBox > tfoot > tr > td {
  display: block;
  padding: 13px 19px 12px;
  font-size: 1rem;
  line-height: 1.75;
  border: 1px solid #999;
  border-radius: 5px;
}
@media screen and (max-width: 599px) {
  .o-paintBox > thead > tr > th, .o-paintBox > thead > tr > td, .o-paintBox > tbody > tr > th, .o-paintBox > tbody > tr > td, .o-paintBox > tfoot > tr > th, .o-paintBox > tfoot > tr > td {
    padding: 15px 19px 12px;
    border-radius: 2.5px;
  }
}
.o-paintBox > thead > tr > th + th,
.o-paintBox > thead > tr > th + td, .o-paintBox > thead > tr > td + th,
.o-paintBox > thead > tr > td + td, .o-paintBox > tbody > tr > th + th,
.o-paintBox > tbody > tr > th + td, .o-paintBox > tbody > tr > td + th,
.o-paintBox > tbody > tr > td + td, .o-paintBox > tfoot > tr > th + th,
.o-paintBox > tfoot > tr > th + td, .o-paintBox > tfoot > tr > td + th,
.o-paintBox > tfoot > tr > td + td {
  margin-top: 20px;
}
* + .o-paintBox {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  * + .o-paintBox {
    margin-top: 15px;
  }
}

.o-paintBox + .o-paintBox {
  margin-top: 10px;
}

.o-paintBox--green > thead > tr > th, .o-paintBox--green > thead > tr > td, .o-paintBox--green > tbody > tr > th, .o-paintBox--green > tbody > tr > td, .o-paintBox--green > tfoot > tr > th, .o-paintBox--green > tfoot > tr > td {
  padding: 13px 19px 12px;
  border: 1px solid #390;
  background: none;
}
@media screen and (max-width: 599px) {
  .o-paintBox--green > thead > tr > th, .o-paintBox--green > thead > tr > td, .o-paintBox--green > tbody > tr > th, .o-paintBox--green > tbody > tr > td, .o-paintBox--green > tfoot > tr > th, .o-paintBox--green > tfoot > tr > td {
    padding: 15px 19px 12px;
  }
}

.o-paintBox--title > thead > tr > th, .o-paintBox--title > tbody > tr > th, .o-paintBox--title > tfoot > tr > th {
  background: #390;
  padding: 6px 10px 8px;
  border: none;
  font-size: 1rem;
  line-height: 1.625;
  color: #fff;
  border-radius: 5px 5px 0 0;
}
@media screen and (max-width: 599px) {
  .o-paintBox--title > thead > tr > th, .o-paintBox--title > tbody > tr > th, .o-paintBox--title > tfoot > tr > th {
    padding: 9px 10px 5px;
    border-radius: 2.5px 2.5px 0 0;
  }
}
.o-paintBox--title > thead > tr > th + td, .o-paintBox--title > tbody > tr > th + td, .o-paintBox--title > tfoot > tr > th + td {
  margin-top: 0;
  padding: 13px 19px 12px;
  border: none;
  border-radius: 0 0 5px 5px;
}
@media screen and (max-width: 599px) {
  .o-paintBox--title > thead > tr > th + td, .o-paintBox--title > tbody > tr > th + td, .o-paintBox--title > tfoot > tr > th + td {
    padding: 13px 19px 12px;
    border-radius: 0 0 2.5px 2.5px;
  }
}

@media screen and (max-width: 599px) {
  * + .o-paintBox--border {
    margin-top: 19px;
  }
}
.o-paintBox--border .o-paintBox__head {
  padding: 9px 10px 3px 10px;
  background-color: #339900;
  border-radius: 5px 5px 0 0;
}
.o-paintBox--border .o-paintBox__ttl {
  color: #fff;
  font-size: 1rem;
  line-height: 1.625;
  font-weight: bold;
  text-align: center;
}
.o-paintBox--border .o-paintBox__body {
  padding: 15px 15px 13px 18px;
  border: 1px solid #339900;
  border-radius: 0 0 5px 5px;
}
.o-article__movie * + .o-paintBox--border {
  margin-top: 37px;
}
@media screen and (max-width: 599px) {
  .o-article__movie * + .o-paintBox--border {
    margin-top: 16px;
  }
}

/* ***************************
ul
*************************** */
/* ***************************
ol
*************************** */
.o-ol--style-none {
  list-style: none;
  margin-left: 0;
}
.o-ol--style-none > li {
  padding-left: 0;
}

/* ***************************
o-gridList
*************************** */
@media screen and (min-width: 600px) {
  .o-gridList {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px;
  }
  * + .o-gridList {
    margin-top: 14px;
  }
  ul + .o-gridList {
    margin-top: 1px;
  }
  .o-gridList > li {
    width: calc(50% - 12px);
    margin-top: 8px;
    box-sizing: border-box;
  }
}

/* ***************************
o-noteList
*************************** */
.o-noteList {
  padding-left: 3px;
}
.o-noteList > li {
  padding-left: 1.6428571429em;
}
@media screen and (max-width: 599px) {
  .o-noteList > li {
    padding-left: 1.5em;
  }
}
.o-noteList > li:before {
  position: static;
  content: "※";
  display: inline-block;
  background: none;
  width: auto;
  height: auto;
  margin: 0 0.7857142857em 0 -1.7857142857em;
  border-radius: 0;
}
@media screen and (max-width: 599px) {
  .o-noteList > li:before {
    margin: 0 0.6428571429em 0 -1.6428571429em;
  }
}

/* ***************************
o-orderList
*************************** */
.o-orderList--alpha {
  margin-left: 20px;
  list-style-type: upper-alpha;
}
.o-orderList--alpha > li {
  padding-left: 15px;
}
@media screen and (max-width: 599px) {
  .o-orderList--alpha > li {
    padding-left: 16px;
  }
}
.o-orderList--l-alpha {
  margin-left: 18px;
  list-style-type: lower-alpha;
}
.o-orderList--l-alpha > li {
  padding-left: 6px;
}
@media screen and (max-width: 599px) {
  .o-orderList--l-alpha > li {
    padding-left: 14px;
  }
}
.o-orderList--roman {
  margin-left: 18px;
  list-style-type: upper-roman;
}
.o-orderList--roman > li {
  padding-left: 6px;
}
@media screen and (max-width: 599px) {
  .o-orderList--roman > li {
    padding-left: 14px;
  }
}
.o-orderList--l-roman {
  margin-left: 18px;
  list-style-type: lower-roman;
}
.o-orderList--l-roman > li {
  padding-left: 6px;
}
@media screen and (max-width: 599px) {
  .o-orderList--l-roman > li {
    padding-left: 14px;
  }
}
.o-orderList--circled {
  list-style: none;
  margin-left: 0;
}
.o-orderList--circled > li {
  position: relative;
  margin-left: 0;
  padding-left: 1.5em;
}
@media screen and (max-width: 599px) {
  .o-orderList--circled > li {
    padding-left: 2em;
  }
}
.o-orderList--circled > li:before {
  position: absolute;
  left: 0;
}
.o-orderList--circled > li:nth-child(1):before {
  content: "①";
}
.o-orderList--circled > li:nth-child(2):before {
  content: "②";
}
.o-orderList--circled > li:nth-child(3):before {
  content: "③";
}
.o-orderList--circled > li:nth-child(4):before {
  content: "④";
}
.o-orderList--circled > li:nth-child(5):before {
  content: "⑤";
}
.o-orderList--circled > li:nth-child(6):before {
  content: "⑥";
}
.o-orderList--circled > li:nth-child(7):before {
  content: "⑦";
}
.o-orderList--circled > li:nth-child(8):before {
  content: "⑧";
}
.o-orderList--circled > li:nth-child(9):before {
  content: "⑨";
}
.o-orderList--circled > li:nth-child(10):before {
  content: "⑩";
}
.o-orderList--circled > li:nth-child(11):before {
  content: "⑪";
}
.o-orderList--circled > li:nth-child(12):before {
  content: "⑫";
}
.o-orderList--circled > li:nth-child(13):before {
  content: "⑬";
}
.o-orderList--circled > li:nth-child(14):before {
  content: "⑭";
}
.o-orderList--circled > li:nth-child(15):before {
  content: "⑮";
}
.o-orderList--circled > li:nth-child(16):before {
  content: "⑯";
}
.o-orderList--circled > li:nth-child(17):before {
  content: "⑰";
}
.o-orderList--circled > li:nth-child(18):before {
  content: "⑱";
}
.o-orderList--circled > li:nth-child(19):before {
  content: "⑲";
}
.o-orderList--circled > li:nth-child(20):before {
  content: "⑳";
}
.o-orderList--kana {
  margin-left: 30px;
  list-style-type: katakana;
}
@media screen and (max-width: 599px) {
  .o-orderList--kana {
    margin-left: 29px;
  }
}
.o-orderList--kana li {
  padding-left: 4px;
}
@media screen and (max-width: 599px) {
  .o-orderList--kana li {
    padding-left: 4px;
  }
}

/* ***************************
o-descList
*************************** */
.o-descList {
  position: relative;
  display: table;
  width: 100%;
  font-size: 1rem;
  line-height: 1.625;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-descList {
    display: block;
  }
}
* + .o-descList {
  margin-top: 20px;
}

.o-descList:before, .o-descList:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  background-color: #ccc;
  background-size: 6px 1px;
}
.o-descList:before {
  top: 0;
}
.o-descList:after {
  bottom: 0;
}
.o-descList + .o-descList {
  margin-top: 0;
}
.o-descList + .o-descList:before {
  content: none !important;
}
.o-descList dt {
  display: table-cell;
  width: 260px;
  padding: 9px 15px 10px 17px;
  vertical-align: middle;
  font-weight: bold;
  background-color: #ebebeb;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-descList dt {
    display: block;
    width: 100%;
    padding: 9px 16px 10px;
  }
}
.o-descList dd {
  display: table-cell;
  width: calc(100% - 260px);
  padding: 9px 15px 10px 19px;
  vertical-align: middle;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-descList dd {
    display: block;
    width: 100%;
    padding: 10px 15px 11px;
  }
}

/* ***************************
o-linkList
*************************** */
* + .o-linkList {
  margin-top: 7px;
}

.o-linkList li {
  margin: 0;
  padding: 0;
}
.o-linkList li:before {
  content: none !important;
}
.o-linkList a {
  position: relative;
  display: inline-block;
  padding-left: 15px;
  color: #333;
  font-size: 1rem;
  line-height: 1.625;
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .o-linkList a {
    padding-left: 14px;
  }
}
.o-linkList a:link, .o-linkList a:visited, .o-linkList a:hover {
  color: #333;
}
.o-linkList a:hover {
  text-decoration: underline;
}
.o-linkList a:before {
  content: "";
  position: absolute;
  top: 8px;
  left: -3px;
  display: inline-block;
  width: 8px;
  height: 8px;
  border: solid #390;
  border-width: 2px 2px 0 0;
  box-sizing: border-box;
  transform: rotate(45deg);
  vertical-align: middle;
}
.o-paintBox .o-linkList a, .o-authorBox .o-linkList a {
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
li > .o-linkList {
  margin-top: 0;
  padding-left: 15px;
}
li > .o-linkList a:before {
  border-color: #7bc058;
}

/* ***************************
o-linkBtn
*************************** */
.o-linkBtn {
  display: flex;
  justify-content: center;
  width: 100%;
}
.o-linkBtn:not(.o-linkBtn--1item) {
  text-align: center;
}
* + .o-linkBtn {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  * + .o-linkBtn {
    margin-top: 15px;
  }
}

.o-linkBtn + .o-linkBtn {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  .o-linkBtn + .o-linkBtn {
    margin-top: 15px;
  }
}
.o-linkBtn--1item + .o-linkBtn--1item {
  margin-top: 10px;
}
.o-linkBtn--gap {
  gap: 0 20px;
}
@media screen and (max-width: 599px) {
  .o-linkBtn--gap {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
  }
}
.o-linkBtn--block {
  flex-direction: column;
  align-items: center;
}
.o-loginBox__bottom * + .o-linkBtn {
  margin-top: 18px;
}
.o-linkBtn--right {
  justify-content: flex-end;
}
.o-linkBtn--premium {
  text-decoration: none;
}

.o-linkBtn__btn {
  position: relative;
  display: block;
  width: 100%;
  max-width: 320px;
  padding: 11px 40px;
  background: #fff;
  border: 1px solid #d1b203;
  font-size: 1rem;
  line-height: 1.625;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
.o-linkBtn--1item .o-linkBtn__btn {
  max-width: none;
  margin: 0;
  padding: 9px 50px 10px 17px;
}
@media screen and (max-width: 599px) {
  .o-linkBtn--1item .o-linkBtn__btn {
    max-width: none;
    padding: 11px 15px 9px 15px;
  }
}

@media screen and (max-width: 599px) {
  .o-linkBtn__btn {
    max-width: 320px;
    min-width: 200px;
    padding: 11px 15px 9px 15px;
  }
}
.o-linkBtn__btn:link, .o-linkBtn__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-linkBtn__btn:hover {
  background-color: #f8f8ed;
}
.o-linkBtn__btn--narrow {
  max-width: 280px;
}
.o-linkBtn__btn--wide {
  max-width: 350px;
}
.o-linkBtn__btn--green {
  border-color: #390;
}
.o-linkBtn__btn--green:after {
  background-position: 0 0;
}
.o-linkBtn__btn--green:hover {
  background-color: #390;
  color: #fff;
}
.o-linkBtn__btn--green:hover:after {
  background-position: 0 100%;
}
.o-linkBtn__btn--yellow {
  border-color: #d1b203;
}
.o-linkBtn__btn--yellow:hover {
  background-color: #d1b203;
}
.o-linkBtn__btn--yellow:after {
  background-position: 0 -16px;
}
@media screen and (min-width: 600px) {
  .o-linkBtn__btn--large {
    max-width: 450px;
    padding: 21px 50px;
    font-size: 125%;
    line-height: 120%;
  }
  .o-linkBtn__btn--large:after {
    width: 26px;
    height: 26px;
    background: url("./img/icon_circle_arrow_large.png") 0 -26px no-repeat;
    background-size: 100% 500%;
  }
  .o-linkBtn__btn--large.o-linkBtn__btn--green:after {
    background-position: 0 0;
  }
}
.o-linkBtn__btn--more {
  border-color: #390;
}
.o-linkBtn__btn--more:before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  background: url("./img/icon_circle_arrow.png") 0 0 no-repeat;
  background-size: 100% 500%;
  transform: rotate(90deg);
}
@media screen and (max-width: 599px) {
  .o-linkBtn__btn--more:before {
    width: 15px;
    height: 15px;
    left: 15px;
  }
}
.o-linkBtn__btn--more:after {
  content: none !important;
}
.o-linkBtn__btn--more:hover {
  color: #fff;
  background-color: #390;
}
.o-linkBtn__btn--more:hover:before {
  background-position: 0 100%;
}
.o-linkBtn__btn--return {
  border-color: #999;
  color: #666;
}
.o-linkBtn__btn--return:link, .o-linkBtn__btn--return:visited {
  color: #666;
}
.o-linkBtn__btn--return:after {
  right: auto;
  left: 20px;
  background-position: 0 -32px;
  transform: scale(-1);
}
@media screen and (max-width: 599px) {
  .o-linkBtn__btn--return:after {
    background-position: 0 -30px;
  }
}
.o-linkBtn__btn--return:hover {
  background-color: #eee;
}
.o-linkBtn--gap .o-linkBtn__btn + .o-linkBtn__btn {
  margin: 0;
}
@media screen and (max-width: 599px) {
  .o-linkBtn--gap .o-linkBtn__btn + .o-linkBtn__btn {
    margin-top: 10px;
  }
}
.o-linkBtn__btn--smallGreen {
  max-width: 200px;
  padding: 5px 10px 3px;
  color: #339900;
  border: solid 1px #339900;
  background-color: #fff;
}
.o-linkBtn__btn--smallGreen:link, .o-linkBtn__btn--smallGreen:visited {
  color: #339900;
}
.o-linkBtn__btn--smallGreen:hover {
  background-color: #fff;
  opacity: 0.8;
}
.o-linkBtn--gap .o-linkBtn__btn--smallGreen + .o-linkBtn__btn--smallGreen {
  margin: 0;
}
@media screen and (max-width: 599px) {
  .o-linkBtn--gap .o-linkBtn__btn--smallGreen + .o-linkBtn__btn--smallGreen {
    margin-top: 20px;
  }
}
.o-newEntry .o-linkBtn__btn {
  max-width: 300px;
}
.o-newEntry .o-linkBtn__btn--smallGreen {
  max-width: 320px;
}
.o-newEntry__footer .o-linkBtn__btn {
  max-width: 318px;
}
.o-loginBox .o-linkBtn__btn {
  max-width: 350px;
  height: 47px;
}
.o-linkBtn--block .o-linkBtn__btn + .o-linkBtn__btn {
  margin-top: 20px;
}
.o-linkBtn--cancell .o-linkBtn__btn {
  min-width: 1px;
  max-width: 109px;
  padding: 2px 5px;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  border: 1px solid #339900;
}
.o-linkBtn--premium .o-linkBtn__btn {
  max-width: 350px;
  height: 50px;
  padding: 15px 40px;
  color: #fff;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.25;
  border-color: #ff861d;
  background-color: #ff861d;
}
@media screen and (max-width: 599px) {
  .o-linkBtn--premium .o-linkBtn__btn {
    padding: 15px 40px;
    font-size: 1.125rem;
    line-height: 1.1111111111;
  }
}
.o-linkBtn__btn--arrowGreen {
  display: inline-block;
  padding: 11px 35px 9px 35px;
  font-weight: bold;
  text-align: center;
  border-color: #339900;
}
.o-linkBtn__btn--arrowGreen:link, .o-linkBtn__btn--arrowGreen:visited {
  color: #339900;
  text-decoration: none;
}
.o-linkBtn__btn--arrowGreen:hover {
  background-color: #fff;
}
@media screen and (min-width: 600px) {
  .o-linkBtn__btn--arrowGreen:hover {
    opacity: 0.7;
  }
}
.o-linkBtn__btn--arrowGreen::after {
  position: absolute;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  background: url("./img/icon_circle_arrow_large.png") 0 0 no-repeat;
  background-size: 100% 500%;
}

/* ***************************
o-btnColumn
*************************** */
.o-btnColumn__body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -20px -10px 0;
}

.o-btnColumn__item {
  min-width: 280px;
  margin: 20px 0 0;
  padding: 0 10px;
}

/* ***************************
o-printBtn o-favBtn
*************************** */
.o-printBtn,
.o-favBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 28px;
  padding: 3px 5px;
  background: #fff;
  border: 2px solid #390;
  font-size: 81.25%;
  line-height: 100%;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
.o-printBtn:link, .o-printBtn:visited, .o-printBtn:hover,
.o-favBtn:link,
.o-favBtn:visited,
.o-favBtn:hover {
  color: #333;
  text-decoration: none;
}
.o-printBtn:hover,
.o-favBtn:hover {
  background-color: #390;
  color: #fff;
}

.o-printBtn {
  width: 98px;
}

.o-favBtn {
  width: 116px;
}
@media screen and (max-width: 599px) {
  .o-favBtn {
    width: 110px;
  }
}
.o-favBtn.is-fav:before {
  content: "";
  display: inline-block;
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 0 6px 0 0;
  background: url("./img/icon_favorite.png") left top no-repeat;
  background-size: 100% 300%;
  background-position: 0 0;
  vertical-align: middle;
}
.o-favBtn.is-fav:hover:before {
  background-position: 0 -18px;
}
.o-favBtn.is-fav.is-active {
  background-color: #390;
  color: #fff;
}
.o-favBtn.is-fav.is-active:before {
  background-position: 0 -36px;
}

/* ***************************
o-moreLink
*************************** */
.o-moreLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 81px;
  height: 24px;
  padding: 3px 5px;
  background: #fff;
  border: 1px solid #390;
  box-sizing: border-box;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
.o-moreLink:link, .o-moreLink:visited, .o-moreLink:hover {
  color: #333;
  text-decoration: none;
}
.o-moreLink:hover {
  background-color: #390;
  color: #fff;
}
.o-moreLink--wide {
  width: 350px;
  height: 35px;
  margin-inline: auto;
  margin-top: 17px;
  font-size: 1rem;
  line-height: 1.8125;
}
@media screen and (max-width: 599px) {
  .o-moreLink--wide {
    width: 200px;
    height: 25px;
    margin-inline: auto;
    font-size: 0.75rem;
    line-height: 1;
  }
}
@media screen and (max-width: 599px) {
  .o-moreLink--wide-sp {
    width: 200px;
    height: 25px;
    margin-inline: auto;
    font-size: 0.75rem;
    line-height: 1;
  }
}

/* ***************************
o-themeBtns
*************************** */
* + .o-themeBtns {
  margin-top: 30px;
}

.o-themeBtns__body {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
}

.o-themeBtns__item {
  width: 33.33%;
  margin: 10px 0 0;
  padding: 0 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  .o-themeBtns__item {
    width: 50%;
  }
}
@media screen and (max-width: 599px) {
  .o-themeBtns__item {
    width: 100%;
  }
}
.o-themeBtns__item:before {
  content: none !important;
}

.o-themeBtns__link {
  position: relative;
  display: block;
  padding: 19px 50px 19px 74px;
  background: #fff;
  border: 2px solid #007799;
  border-radius: 5px;
  font-size: 125%;
  line-height: 140%;
  font-weight: bold;
  color: #007799;
  text-decoration: none;
}
.o-themeBtns__link:link, .o-themeBtns__link:visited {
  color: #007799;
  text-decoration: none;
}
.o-themeBtns__link:before {
  position: absolute;
  content: "";
  width: 50px;
  height: 50px;
  top: 0;
  bottom: 0;
  left: 11px;
  margin: auto;
  background: url("./img/icon_nav_theme.png?230214") no-repeat;
  background-size: 1300% 200%;
}
.o-themeBtns__link--management:before {
  background-position: 0px 0;
}
.o-themeBtns__link--financial:before {
  background-position: -50px 0;
}
.o-themeBtns__link--labor:before {
  background-position: -100px 0;
}
.o-themeBtns__link--processing:before {
  background-position: -150px 0;
}
.o-themeBtns__link--production:before {
  background-position: -200px 0;
}
.o-themeBtns__link--information:before {
  background-position: -250px 0;
}
.o-themeBtns__link--tax:before {
  background-position: -300px 0;
}
.o-themeBtns__link--legal:before {
  background-position: -350px 0;
}
.o-themeBtns__link--training:before {
  background-position: -400px 0;
}
.o-themeBtns__link--salesandcosts:before {
  background-position: -450px 0;
}
.o-themeBtns__link--stable:before {
  background-position: -500px 0;
}
.o-themeBtns__link--expansion:before {
  background-position: -550px 0;
}
.o-themeBtns__link--newfarmer:before {
  background-position: -600px 0;
}
.o-themeBtns__link:after {
  position: absolute;
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  top: 0;
  bottom: 0;
  right: 18px;
  margin: auto;
  background: url("./img/icon_circle_arrow_large.png") 0 -78px no-repeat;
  background-size: 100% 500%;
}
@media screen and (min-width: 599px) {
  .o-themeBtns__link:hover {
    background-color: #007799;
    color: #fff;
  }
  .o-themeBtns__link:hover:before {
    background-position-y: 100%;
  }
  .o-themeBtns__link:hover:after {
    background-position-y: 100%;
  }
}

/* ***************************
o-pagination
*************************** */
* + .o-pagination {
  margin-top: 30px;
}

.o-columnList + .o-pagination {
  margin-top: 55px;
}
.o-movieList + .o-pagination {
  margin-top: 48px;
}

.o-pagination__body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.o-pagination__item {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.o-pagination__item:before {
  content: none !important;
}
.o-pagination__item + .o-pagination__item {
  margin-left: -1px;
}

.o-pagination__btn {
  position: relative;
  display: block;
  min-width: 40px;
  padding: 11px 5px;
  background: #fff;
  border: 1px solid #999;
  font-size: 87.5%;
  line-height: 115%;
  color: #333;
  text-decoration: none;
  text-align: center;
  box-sizing: border-box;
  z-index: 1;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .o-pagination__btn {
    min-width: 36px;
    padding: 11px 0px;
    font-size: 75%;
    line-height: 117%;
  }
}
.o-pagination__btn:link, .o-pagination__btn:visited {
  color: #333;
  text-decoration: none;
}
.o-pagination__btn.o-pagination__btn--active, .o-pagination__btn:hover {
  background-color: #390;
  border-color: #390;
  color: #fff;
  z-index: 2;
}
.o-pagination__btn--prev, .o-pagination__btn--next {
  padding: 11px 23px;
}
@media screen and (max-width: 599px) {
  .o-pagination__btn--prev, .o-pagination__btn--next {
    padding: 11px 15px;
    height: 38px;
    font-size: 0;
    line-height: 0;
  }
}
.o-pagination__btn--prev:before, .o-pagination__btn--next:after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("./img/icon_circle_arrow.png") 0 -32px no-repeat;
  background-size: 100% 500%;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .o-pagination__btn--prev:before, .o-pagination__btn--next:after {
    width: 15px;
    height: 15px;
    background-position: 0 -30px;
  }
}
.o-pagination__btn--prev:hover:before, .o-pagination__btn--next:hover:after {
  background-position: 0 100%;
}
.o-pagination__btn--prev:before {
  margin: -2px 10px 0 0;
  transform: scale(-1);
}
@media screen and (max-width: 599px) {
  .o-pagination__btn--prev:before {
    margin: 0;
  }
}
.o-pagination__btn--next:after {
  margin: -2px 0 0 10px;
}
@media screen and (max-width: 599px) {
  .o-pagination__btn--next:after {
    margin: 0;
  }
}
.o-pagination__btn--disabled {
  background-color: #f6f6f6;
  color: #666;
  pointer-events: none;
}
.o-pagination__btn--disabled:hover {
  background-color: #f6f6f6;
  border-color: #999;
  color: #666;
}
.o-pagination__btn--disabled.o-pagination__btn--prev:hover:before, .o-pagination__btn--disabled.o-pagination__btn--next:hover:after {
  background-position: 0 -32px;
}
@media screen and (max-width: 599px) {
  .o-pagination__btn--disabled.o-pagination__btn--prev:hover:before, .o-pagination__btn--disabled.o-pagination__btn--next:hover:after {
    background-position: 0 -30px;
  }
}
.o-pagination__btn--ellipsis {
  cursor: auto;
}
.o-pagination__btn--ellipsis:hover {
  background-color: #fff;
  border-color: #999;
  color: #333;
  z-index: 1;
}
.o-pagination__item:first-child .o-pagination__btn {
  border-radius: 5px 0 0 5px;
}

.o-pagination__item:last-child .o-pagination__btn {
  border-radius: 0 5px 5px 0;
}

/* ***************************
grid
*************************** */
/*
o-grid
*************************** */
.o-grid {
  display: block;
  width: 100%;
  height: auto;
  border: none;
}
.o-grid > thead, .o-grid > tbody, .o-grid > tfoot {
  display: block;
}
.o-grid > thead > tr, .o-grid > tbody > tr, .o-grid > tfoot > tr {
  display: flex;
  flex-wrap: wrap;
  margin: -18px -8px 0;
}
@media screen and (max-width: 599px) {
  .o-grid > thead > tr, .o-grid > tbody > tr, .o-grid > tfoot > tr {
    margin-top: -10px;
  }
}
.o-grid > thead > tr > td, .o-grid > tbody > tr > td, .o-grid > tfoot > tr > td {
  width: 100% !important;
  display: block;
  margin: 18px 0 0;
  padding: 0 8px;
  background: none;
  border: none;
}
@media screen and (min-width: 600px) {
  .o-grid > thead > tr > td, .o-grid > tbody > tr > td, .o-grid > tfoot > tr > td {
    flex: 1;
  }
}
@media screen and (max-width: 599px) {
  .o-grid > thead > tr > td, .o-grid > tbody > tr > td, .o-grid > tfoot > tr > td {
    margin-top: 10px;
  }
}

/*
o-imgGrid
*************************** */
.o-imgGrid {
  display: block;
  width: 100%;
  height: auto;
  border: none;
}
.o-imgGrid > thead, .o-imgGrid > tbody, .o-imgGrid > tfoot {
  display: block;
}
.o-imgGrid > thead > tr, .o-imgGrid > tbody > tr, .o-imgGrid > tfoot > tr {
  display: flex;
  flex-wrap: wrap;
  margin: -18px -12px 0;
}
.o-imgGrid > thead > tr > td, .o-imgGrid > tbody > tr > td, .o-imgGrid > tfoot > tr > td {
  order: 1;
  display: block;
  margin: 18px 0 0;
  padding: 0 12px;
  font-size: 1rem;
  line-height: 1.75;
  background: none;
  border: none;
}
.o-imgGrid > thead > tr > td:first-child, .o-imgGrid > tbody > tr > td:first-child, .o-imgGrid > tfoot > tr > td:first-child {
  width: 44.9152542373%;
}
@media screen and (max-width: 599px) {
  .o-imgGrid > thead > tr > td:first-child, .o-imgGrid > tbody > tr > td:first-child, .o-imgGrid > tfoot > tr > td:first-child {
    width: 100%;
  }
}
.o-imgGrid > thead > tr > td + td, .o-imgGrid > tbody > tr > td + td, .o-imgGrid > tfoot > tr > td + td {
  margin-top: 17px;
  width: 55.0847457627%;
}
@media screen and (max-width: 599px) {
  .o-imgGrid > thead > tr > td + td, .o-imgGrid > tbody > tr > td + td, .o-imgGrid > tfoot > tr > td + td {
    margin-top: 10px;
    width: 100%;
  }
}
.o-imgGrid--imgRight td:first-child {
  order: 2;
}
@media screen and (max-width: 599px) {
  .o-imgGrid--imgRight td:first-child {
    order: 1;
  }
}
.o-imgGrid--narrow > thead > tr > td:first-child, .o-imgGrid--narrow > tbody > tr > td:first-child, .o-imgGrid--narrow > tfoot > tr > td:first-child {
  width: 37.8947368421%;
}
@media screen and (max-width: 599px) {
  .o-imgGrid--narrow > thead > tr > td:first-child, .o-imgGrid--narrow > tbody > tr > td:first-child, .o-imgGrid--narrow > tfoot > tr > td:first-child {
    width: 100%;
  }
}
.o-imgGrid--narrow > thead > tr > td + td, .o-imgGrid--narrow > tbody > tr > td + td, .o-imgGrid--narrow > tfoot > tr > td + td {
  width: 62.1052631579%;
}
@media screen and (max-width: 599px) {
  .o-imgGrid--narrow > thead > tr > td + td, .o-imgGrid--narrow > tbody > tr > td + td, .o-imgGrid--narrow > tfoot > tr > td + td {
    width: 100%;
  }
}

* + .o-grid, * + .o-imgGrid {
  margin-top: 20px;
}

.o-grid + .o-grid, .o-grid + .o-imgGrid, .o-imgGrid + .o-grid, .o-imgGrid + .o-imgGrid {
  margin-top: 16px;
}
@media screen and (max-width: 599px) {
  .o-grid + .o-grid, .o-grid + .o-imgGrid, .o-imgGrid + .o-grid, .o-imgGrid + .o-imgGrid {
    margin-top: 20px;
  }
}
h2 + .o-grid, h2 + .o-imgGrid {
  margin-top: 20px;
}

/* ***************************
o-faqItem
*************************** */
.o-faqItem {
  background: #fff;
  border: 1px solid #390;
  border-radius: 5px;
  overflow: hidden;
}
* + .o-faqItem {
  margin-top: 20px;
}

.o-faqItem + .o-faqItem {
  margin-top: 10px;
}

.o-faqItem dt {
  position: relative;
  padding: 11px 29px 10px 36px;
  background: #f0faea;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.625;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-faqItem dt {
    padding: 10px 12px 10px 36px;
  }
}
.o-faqItem dt:before {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  top: 20px;
  left: 13px;
  background: url("./img/svg/icon_acc_arrow.svg") left top no-repeat;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .o-faqItem dt:before {
    top: 19px;
    left: 13px;
  }
}
.o-faqItem dd {
  padding: 11px 29px 9px 34px;
  font-size: 1rem;
  line-height: 1.625;
  border-top: 1px solid;
  border-color: inherit;
}
@media screen and (max-width: 599px) {
  .o-faqItem dd {
    padding: 10px 15px 10px 36px;
  }
}
.o-faqItem--init {
  border-color: #999;
}
.o-faqItem--init dt {
  cursor: pointer;
  background-color: #fff;
}
.o-faqItem--init dd {
  display: none;
}
.o-faqItem--open, .o-faqItem--init:hover {
  border-color: #390;
}
.o-faqItem--open dt, .o-faqItem--init:hover dt {
  background-color: #f0faea;
}
.o-faqItem--open dt:before {
  transform: rotate(-180deg);
}

/* ***************************
o-faqBox
*************************** */
.o-faqBox {
  max-width: 880px;
  border: 1px solid #999999;
  border-radius: 5px;
  box-sizing: border-box;
  overflow: hidden;
}
* + .o-faqBox {
  margin-top: 20px;
}

.o-faqBox__head {
  padding: 22px 20px 18px 20px;
  font-size: 1rem;
  line-height: 1.75;
  font-weight: bold;
  letter-spacing: 0.4px;
  background-color: transparent;
}
@media screen and (max-width: 599px) {
  .o-faqBox__head {
    padding: 18px 20px 16px 11px;
  }
}

.o-faqBox__body {
  padding: 13px 15px 19px 20px;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.4px;
  background-color: #fff;
  border-top: 1px solid #999999;
}
@media screen and (max-width: 599px) {
  .o-faqBox__body {
    padding: 11px 20px 16px 11px;
  }
}

.o-faqBox__question {
  position: relative;
  padding: 0 0 0 50px;
}
@media screen and (max-width: 599px) {
  .o-faqBox__question {
    padding: 0 0 0 46px;
  }
}
.o-faqBox__question::before {
  position: absolute;
  top: -2px;
  left: 0;
  display: block;
  width: 36px;
  height: 36px;
  content: "";
  background-image: url("./img/icon_q.png");
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .o-faqBox__question::before {
    top: -5px;
    left: 2px;
  }
}

.o-faqBox__answer {
  position: relative;
  margin-top: 8px;
  padding: 0 0 0 50px;
}
@media screen and (max-width: 599px) {
  .o-faqBox__answer {
    padding: 0 0 0 46px;
  }
}
.o-faqBox__answer::before {
  position: absolute;
  top: -2px;
  left: 0;
  display: block;
  width: 36px;
  height: 36px;
  content: "";
  background-image: url("./img/icon_a.png");
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .o-faqBox__answer::before {
    top: -5px;
    left: 2px;
  }
}

/* ***************************
o-tagList
*************************** */
.o-tagList {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  padding-right: 5px;
}

.o-tagList__item {
  margin: 0;
  padding: 0;
}
.o-tagList__item::before {
  display: none;
}

.o-tagList__item__txt {
  box-sizing: border-box;
  display: block;
  padding: 1px 8px 1px 9px;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  border-radius: 4px;
  border: solid 1px #390;
  background-color: #fff;
}

/* ***************************
o-qaBox
*************************** */
.o-qaBox {
  border-radius: 5px;
  border: 1px solid #999;
  overflow: hidden;
}

.o-qaBox__question {
  position: relative;
  padding: 29px 19px 15px 85px;
  background: #f5f5f5;
  border-bottom: 1px solid #999;
  font-size: 100%;
  line-height: 163%;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-qaBox__question {
    padding: 11px 10px 12px 48px;
    font-size: 107.1428571429%;
    line-height: 167%;
  }
}
.o-qaBox__tags {
  display: flex;
  justify-content: flex-end;
  padding: 0 19px;
}
* + .o-qaBox__tags {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  * + .o-qaBox__tags {
    margin-top: 15px;
  }
}

.o-qaBox__answer {
  position: relative;
  padding: 21px 19px 13px 86px;
}
@media screen and (max-width: 599px) {
  .o-qaBox__answer {
    padding: 12px 10px 11px 49px;
    font-size: 100%;
    line-height: 172%;
  }
}
.o-qaBox__question:before,
.o-qaBox__answer:before {
  position: absolute;
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  left: 19px;
  background: left top no-repeat;
  background-size: contain;
}
@media screen and (max-width: 599px) {
  .o-qaBox__question:before,
  .o-qaBox__answer:before {
    width: 30px;
    height: 30px;
    left: 9px;
  }
}

.o-qaBox__question:before {
  top: 19px;
  background-image: url("./img/icon_question.png");
}
@media screen and (max-width: 599px) {
  .o-qaBox__question:before {
    top: 9px;
  }
}

.o-qaBox__answer:before {
  top: 10px;
  background-image: url("./img/icon_answer.png");
}
@media screen and (max-width: 599px) {
  .o-qaBox__answer:before {
    top: 9px;
  }
}

/* ***************************
o-balloon
*************************** */
.o-balloon {
  display: flex;
  max-width: 700px;
}
* + .o-balloon {
  margin-top: 20px;
}

@media screen and (max-width: 599px) {
  .o-balloon + .o-balloon {
    margin-top: 15px;
  }
}

.o-balloon dt {
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 600px) {
  .o-balloon dt {
    width: 84px;
  }
}
.o-balloon dt img {
  width: auto;
  max-width: 64px;
}
@media screen and (max-width: 599px) {
  .o-balloon dt img {
    max-width: 50px;
  }
}
.o-balloon dt p + p {
  margin-top: 3px;
  font-size: 0.8125rem;
  line-height: 1.8461538462;
}
@media screen and (max-width: 599px) {
  .o-balloon dt p + p {
    font-size: 0.75rem;
    line-height: 2;
  }
}
.o-balloon dd {
  flex: 1;
  position: relative;
  max-width: 600px;
  margin-left: 14px;
  padding: 11px 12px 10px 14px;
  font-size: 1rem;
  line-height: 1.625;
  background: #fff;
  border: 1px solid #999;
  border-radius: 5px;
  box-sizing: border-box;
}
@media screen and (min-width: 600px) {
  .o-balloon dd {
    flex-grow: 1;
  }
}
@media screen and (max-width: 599px) {
  .o-balloon dd {
    margin-left: 21px;
    padding: 11px 15px 10px 13px;
  }
}
.o-balloon dd:before, .o-balloon dd:after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  top: 23px;
  border-style: solid;
  border-width: 6px 14px 6px 0;
}
@media screen and (max-width: 599px) {
  .o-balloon dd:before, .o-balloon dd:after {
    border-width: 6px 14px 6px 0;
  }
}
.o-balloon dd:before {
  left: -14px;
  border-color: transparent #999 transparent transparent;
}
.o-balloon dd:after {
  left: -12px;
  border-color: transparent #fff transparent transparent;
}

/* -------------------------
pattern
------------------------- */
/* color */
.o-balloon--green dd {
  background-color: #f0faea;
  border-color: #390;
}
.o-balloon--green dd:before {
  border-color: transparent #390 transparent transparent;
}
.o-balloon--green dd:after {
  border-color: transparent #f0faea transparent transparent;
}

.o-balloon--yellow dd {
  background-color: #f8f8ed;
  border-color: #d1b203;
}
.o-balloon--yellow dd:before {
  border-color: transparent #d1b203 transparent transparent;
}
.o-balloon--yellow dd:after {
  border-color: transparent #f8f8ed transparent transparent;
}

/* layout */
.o-balloon--right {
  margin-left: auto;
  justify-content: flex-end;
}
.o-balloon--right dt {
  text-align: right;
}
@media screen and (min-width: 600px) {
  .o-balloon--right dt {
    width: 78px;
  }
}
@media screen and (max-width: 599px) {
  .o-balloon--right dt {
    text-align: center;
  }
}
.o-balloon--right dd {
  order: -1;
  margin-left: 0;
  margin-right: 14px;
}
@media screen and (max-width: 599px) {
  .o-balloon--right dd {
    margin-right: 19px;
  }
}
.o-balloon--right dd:before, .o-balloon--right dd:after {
  left: auto;
  transform: scale(-1);
}
.o-balloon--right dd:before {
  right: -14px;
}
.o-balloon--right dd:after {
  right: -12px;
}

/* ***************************
o-scrollHint
*************************** */
* + .o-scrollHint {
  margin-top: 20px;
}

.o-scrollHint__table {
  min-width: 800px;
}

/* ***************************
o-loader
*************************** */
.o-loader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.o-loader__inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.o-loader__inner:before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #000;
  opacity: 0.6;
}

.o-loader__spinner {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border: 1.6em solid;
  border-color: rgba(255, 255, 255, 0.2) rgba(255, 255, 255, 0.2) rgba(255, 255, 255, 0.2) #fff;
  transform: translateZ(0);
  animation: load8 1.1s infinite linear;
  border-radius: 50%;
  width: 15em;
  height: 15em;
  box-sizing: border-box;
}
.o-loader__spinner:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

@keyframes load8 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* ***************************
o-appinesDesc
*************************** */
* + .o-appinesDesc {
  margin-top: 30px;
}

.o-appinesDesc + .o-appinesDesc {
  margin-top: 73px;
}

.o-appinesDesc__ttl {
  position: relative;
  padding: 10px 15px 12px;
  background: #fff;
  border: 2px solid #390;
  font-size: 125%;
  line-height: 120%;
  font-weight: bold;
  border-radius: 5px;
}
.o-appinesDesc__ttl:before, .o-appinesDesc__ttl:after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-style: solid;
  border-width: 16px 16px 0 16px;
}
.o-appinesDesc__ttl:before {
  bottom: -16px;
  border-color: #390 transparent transparent transparent;
}
.o-appinesDesc__ttl:after {
  bottom: -14px;
  border-color: #fff transparent transparent transparent;
}

* + .o-appinesDesc__desc {
  margin-top: 34px;
}

/*
o-appinesGrid
*************************** */
.o-appinesGrid {
  display: block;
  max-width: 100%;
  border: none;
}
.o-appinesGrid > tbody {
  display: block;
}
.o-appinesGrid > tbody > tr {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.o-appinesGrid > tbody > tr > td {
  display: block;
  background: none;
  border: none;
  box-sizing: border-box;
}
.o-appinesGrid > tbody > tr > td:nth-child(1) {
  width: 42.9347826087%;
  padding: 0;
}
.o-appinesGrid > tbody > tr > td:nth-child(2) {
  width: 57.0652173913%;
  padding: 0 3.9130434783%;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-appinesGrid > tbody > tr > td:nth-child(1), .o-appinesGrid > tbody > tr > td:nth-child(2) {
    width: 100%;
    padding: 0;
  }
  .o-appinesGrid > tbody > tr > td:nth-child(2) {
    margin-top: 30px;
  }
}

/* ***************************
o-mediaWrap
*************************** */
.o-mediaWrap {
  position: relative;
  max-width: 560px;
  min-height: 0 !important;
  margin: 0 auto;
  padding-top: 314px;
  padding-top: min(314px, 56.0714285714% );
  box-sizing: border-box;
}
* + .o-mediaWrap {
  margin-top: 20px;
}

.o-mediaWrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/* ***************************
o-myPage
*************************** */
/*
o-myPageContents
*************************** */
.o-myPageContents {
  margin: 21px 0 0;
}
@media screen and (max-width: 599px) {
  .o-myPageContents {
    margin: 0;
  }
}

/*
o-myPageList
*************************** */
.o-myPageList {
  margin: 0;
  padding: 2px 20px;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-myPageList {
    margin: 0 -20px;
  }
}
* + .o-myPageList {
  margin-top: 10px;
}
.o-myPageList--message {
  padding: 1px 20px;
}

.o-myPageList__item {
  margin: 0;
  padding: 0;
  line-height: 100%;
}
.o-myPageList__item::before {
  display: none;
}
.o-myPageList__item + .o-myPageList__item {
  border-top: 1px solid #e0e2e7;
}

.o-myPageList__link {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 11px 0;
  line-height: 100%;
  text-decoration: none;
}
.o-myPageList__link::after {
  position: absolute;
  top: calc(50% - 1px);
  right: -3px;
  display: block;
  width: 10px;
  height: 6px;
  content: "";
  background-image: url(./img/svg/icon_arrow_gray.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%) rotate(-90deg);
}

.o-myPageList__link__txt {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  color: #1d1d1d;
}
.o-myPageList--message .o-myPageList__link__txt {
  font-size: 1rem;
  line-height: 1.25;
}
@media screen and (max-width: 599px) {
  .o-myPageList--message .o-myPageList__link__txt {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
.is-message .o-myPageList__link__txt::after {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 7px;
  content: "";
  background-color: #c72626;
  border-radius: 5px;
}

/*
o-iconTitle
*************************** */
.o-iconTitle {
  margin: 0;
  padding: 0 0 0 20px;
  background: none;
  border-bottom: none;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 599px) {
  .o-iconTitle {
    padding: 0;
  }
}
* + .o-iconTitle {
  margin-top: 26px;
}

.o-iconTitle::after {
  display: none;
}
.o-iconTitle::before {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 11px 0 0;
  vertical-align: middle;
  content: "";
  background-image: url(./img/svg/icon_message.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-iconTitle--message::before {
  background-image: url(./img/svg/icon_message.svg);
}
.o-iconTitle--profile::before {
  width: 20px;
  height: 23px;
  margin: -6px 11px 0 0;
  background-image: url(./img/svg/icon_profile_gray.svg);
}
.o-iconTitle--premium::before {
  width: 22px;
  height: 18px;
  margin: -6px 9px 0 0;
  background-image: url(./img/svg/icon_premium_gray.svg);
}
.o-iconTitle--heart::before {
  width: 20px;
  height: 18px;
  margin: -2px 11px 0 0;
  background-image: url(./img/svg/icon_heart_gray.svg);
}

/*
o-myPageBnr
*************************** */
.o-myPageBnr {
  margin: 44px 0 0;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .o-myPageBnr {
    margin: 64px 0 0;
  }
}

/* ***************************
o-contract
*************************** */
.o-contractList {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 599px) {
  .o-contractList {
    display: block;
  }
}
* + .o-contractList {
  margin: 32px 0 0;
}
h2 + .o-contractList {
  margin: 0;
}

.o-contractList__item {
  width: calc(50% - 10px);
}
@media screen and (max-width: 599px) {
  .o-contractList__item {
    width: 100%;
  }
  .o-contractList__item + .o-contractList__item {
    margin-top: 10px;
  }
}

.o-contractCard {
  height: 100%;
  padding: 20px 16px;
  border-radius: 8px;
  border: solid 1px #ccc;
  background-color: #fff;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-contractCard {
    padding: 16px 16px 20px;
  }
}

.o-contractCard__label {
  margin-left: -16px;
}
@media screen and (max-width: 599px) {
  .o-contractCard__label {
    margin-top: 4px;
  }
}

.o-contractCard__summary {
  margin-top: 0;
}
.o-contractCard__label + .o-contractCard__summary {
  margin-top: 10px;
}

.o-contractCard__err {
  margin-top: 14px;
}

.o-contractCard__btn {
  margin-top: 16px;
}
.o-contractCard__err + .o-contractCard__btn {
  margin-top: 20px;
}

.o-contractCard__warningText {
  margin-top: 5px;
}

.o-cardLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 23px;
  padding: 0 0 2px;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1;
  background-color: #339900;
  box-sizing: border-box;
}
.o-cardLabel.is--red {
  background-color: #c72626;
}

.o-cardInfo {
  display: flex;
  gap: 0 10px;
}
.o-cardInfo--wide {
  flex-wrap: wrap;
}

.o-cardInfo--wide .o-cardInfo__txt {
  width: 100%;
}

.o-cardInfo__txt__ttl {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}

.o-cardInfo__txt__money {
  margin-top: 4px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}

.o-cardInfo__more {
  align-self: flex-end;
  margin-left: auto;
}

.o-cardInfo__more__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 81px;
  height: 24px;
  color: #333;
  font-size: 0.75rem;
  line-height: 1;
  text-decoration: none;
  border-radius: 4px;
  border: solid 1px #d1b203;
  background-color: #fff;
  box-sizing: border-box;
}
.o-cardInfo__more__link:visited, .o-cardInfo__more__link:hover {
  color: #333;
}

.o-cardBtnList {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 9px;
}

.o-cardBtnList__item {
  width: 100%;
}
.o-cardBtnList__item--cancell {
  flex-shrink: 0;
  width: 100px;
}
.o-cardBtnList-wrap .o-cardBtnList__item {
  width: calc(100% - 109px);
}
.o-cardBtnList-wrap .o-cardBtnList__item--cancell {
  flex-shrink: 0;
  width: 100px;
}
.o-cardBtnList-wrap .o-cardBtnList__item--w100 {
  width: 100%;
}

.o-cardBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  font-weight: bold;
  text-decoration: none;
  border-radius: 4px;
  background-color: #999;
  box-sizing: border-box;
}
.o-cardBtn:visited, .o-cardBtn:hover {
  color: #fff;
}
.o-cardBtn.is-apply {
  background-color: #339900;
}
.o-cardBtn.is-out {
  height: 46px;
}
.o-cardBtn:hover {
  opacity: 0.8;
}
.o-cardBtn--contract {
  color: #339900;
  border-radius: 4px;
  border: solid 1px #339900;
  background-color: #fff;
}
.o-cardBtn--contract:visited, .o-cardBtn--contract:hover {
  color: #339900;
}
.o-cardBtn--stop {
  color: #c72626;
  border-radius: 4px;
  border: solid 1px #c72626;
  background-color: #fff;
}
.o-cardBtn--stop:visited, .o-cardBtn--stop:hover {
  color: #c72626;
}
.o-cardBtn--coupon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 18px 9px 19px;
  text-align: left;
  border: 1px solid #339900;
  border-radius: 6px;
  background-color: #fff;
}
.o-cardBtn--applicable {
  position: relative;
  padding-top: 10px;
}

.o-cardBtn--coupon .o-cardBtn__text {
  color: #339900;
  text-align: left;
}

.o-cardBtn__icon {
  position: relative;
}
.o-cardBtn__icon--plus {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: auto;
  background-color: #349900;
  border-radius: 50%;
}
.o-cardBtn__icon--plus::before, .o-cardBtn__icon--plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 8px;
  height: 2px;
  content: "";
  background-color: #fff;
  transform: translate(-50%, -50%);
}
.o-cardBtn__icon--plus::after {
  transform: translate(-50%, -50%) rotate(-90deg);
}

.o-applicableText {
  position: absolute;
  top: -9px;
  display: block;
  width: 113px;
  height: 18px;
  color: #fff;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.5;
  background-color: #349900;
  border-radius: 9px;
}

* + .o-cardTextList {
  margin-top: 12px;
}

.o-cardTextList__txt {
  font-size: 0.875rem;
  line-height: 1.5714285714;
}

.o-bandText {
  margin: 20px 0 0;
  padding: 8px 10px;
  font-size: 1rem;
  line-height: 1.5;
  color: #339900;
  font-weight: bold;
  text-align: center;
  border-radius: 6px;
  background-color: #eff9ea;
}
@media screen and (max-width: 599px) {
  .o-bandText {
    margin: 34px 0 0;
  }
}

.o-freeImg {
  text-align: center;
}

.o-cautionText {
  margin: 17px 0 0 30px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
@media screen and (max-width: 599px) {
  .o-cautionText {
    margin: 17px 0 0;
  }
}
.o-cautionText--top {
  margin: 0 0 15px;
  font-weight: bold;
  text-align: center;
}

.o-warningText {
  font-size: 1rem;
  line-height: 1.75;
  color: #c72626;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-warningText {
    text-align: center;
  }
}
* + .o-warningText {
  margin: 25px 0 0;
}
.o-contractCard__warningText .o-warningText {
  font-size: 0.875rem;
  line-height: 1.5714285714;
}
@media screen and (max-width: 599px) {
  .o-contractCard__warningText .o-warningText {
    text-align: left;
  }
}

/* ***************************
o-newEntry
*************************** */
* + .o-newEntry {
  margin-top: 19px;
}

.o-newEntry__txt {
  font-size: 1rem;
  line-height: 1.75;
  text-align: center;
}
.o-newEntry__btn + .o-newEntry__txt {
  margin-top: 27px;
}
@media screen and (max-width: 599px) {
  .o-newEntry__btn + .o-newEntry__txt {
    margin-top: 36px;
  }
}
.o-newEntry__txt + .o-newEntry__txt {
  margin-top: 28px;
}
.o-newEntry__txt + .o-newEntry__txt--err {
  margin-top: 17px;
}
.o-modalBox .o-newEntry__txt {
  text-align: left;
}

* + .o-newEntry__btn {
  margin-top: 22px;
}
@media screen and (max-width: 599px) {
  * + .o-newEntry__btn {
    margin-top: 28px;
  }
}

.o-newEntry__footer {
  margin-top: 30px;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 599px) {
  .o-newEntry__footer {
    margin: 30px -24px 0;
  }
}

.o-newEntry__footer__body {
  padding: 24px 0 0;
}
@media screen and (max-width: 599px) {
  .o-newEntry__footer__body {
    padding: 30px 24px 0;
  }
}

.o-notesBtn {
  display: block;
  width: 100%;
  max-width: 318px;
  margin: 20px auto 0;
  text-align: center;
}

.o-notesBtn__txt {
  margin: 16px 0 0 9px;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  text-align: left;
}

/* ***************************
o-step
*************************** */
.o-stepList {
  list-style: none;
  width: 100%;
  max-width: 448px;
  margin: 0 auto 0;
  padding: 0 0 0 10px;
}
@media screen and (max-width: 599px) {
  .o-stepList {
    padding: 0;
  }
}
* + .o-stepList {
  margin-top: 24px;
}

.o-stepList__item {
  margin: 0;
  padding: 0;
}
.o-stepList__item + .o-stepList__item {
  padding-top: 9px;
}

.o-stepLink {
  text-decoration: none;
}
.o-stepLink:hover {
  opacity: 0.8;
}
@media screen and (max-width: 599px) {
  .o-stepLink:hover {
    opacity: 1;
  }
}

.o-stepUnit {
  display: flex;
}
.o-stepUnit + .o-stepUnit {
  margin-top: 19px;
}

.o-stepUnit__ttl {
  width: 22.8310502283%;
  max-width: 100px;
  padding: 7px 5px 3px 5px;
  color: #fff;
  font-weight: bold;
  font-family: "Roboto";
  background-color: #339900;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-stepUnit__ttl {
    width: 80px;
  }
}
.o-stepList__item:nth-child(n+2) .o-stepUnit__ttl {
  position: relative;
}
.o-stepList__item:nth-child(n+2) .o-stepUnit__ttl::before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  display: block;
  width: 2px;
  height: 10px;
  content: "";
  background-color: #339900;
  transform: translateX(-50%);
}
.o-stepUnit--extra .o-stepUnit__ttl {
  background-color: #006c8e;
}
.o-stepList__item:nth-child(n+2) .o-stepUnit--extra .o-stepUnit__ttl::before {
  background-color: #006c8e;
}

.o-stepUnit__ttl__txt {
  font-size: 0.875rem;
  line-height: 1.5714285714;
}

.o-stepUnit__ttl__num {
  font-size: 1.625rem;
  line-height: 1;
}

.o-step__txt {
  width: 77.1689497717%;
  max-width: 338px;
  padding: 10px 10px 8px 13px;
  font-size: 1.125rem;
  line-height: 1.2222222222;
  font-weight: bold;
  color: #333;
  background-color: #eff9ea;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-step__txt {
    flex: 1;
    width: auto;
  }
}
.o-stepUnit--extra .o-step__txt {
  background-color: #e1f3f8;
}

/* ***************************
o-scrollContents
*************************** */
.o-scrollContents {
  margin: 25px 0 0;
  height: 156px;
  overflow: auto;
  padding: 11px 8px 21px 12px;
  background-color: #f5f5f5;
  border-radius: 4px;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-scrollContents {
    height: 223px;
  }
}
@media screen and (max-width: 599px) {
  .o-scrollContents p {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.o-scrollContents p + p {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  .o-scrollContents p + p {
    margin-top: 25px;
  }
}
.o-scrollContents .o-scrollContents__ttl + p {
  margin-top: 6px;
}
.o-scrollContents * + .o-scrollContents__ttl {
  margin-top: 40px;
}

.o-scrollContents__ttl {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: bold;
}

/* ***************************
o-appCheckArea
*************************** */
* + .o-appCheckArea {
  margin: 21px 0 0;
}

.o-appCheckArea__check {
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
}

* + .o-appCheckArea__btn {
  margin-top: 30px;
}

.o-appList {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  .o-appList {
    display: block;
  }
}

.o-appList__item {
  width: 50%;
  box-sizing: border-box;
  border-bottom: dotted 1px #ccc;
}
@media screen and (max-width: 599px) {
  .o-appList__item {
    width: 100%;
  }
}
.o-appList__item:nth-child(even) {
  padding-left: 33px;
}
@media screen and (max-width: 599px) {
  .o-appList__item:nth-child(even) {
    padding: 0;
  }
}
.o-appList__item.is-borderNone {
  border: none;
}
@media screen and (max-width: 599px) {
  .o-appList__item.is-borderNone {
    border-bottom: dotted 1px #ccc;
  }
}
@media screen and (max-width: 599px) {
  .o-appList__item:nth-last-child(1) {
    border: none;
  }
}

.o-appCheck {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 60px;
  padding: 5px 0;
  cursor: pointer;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .o-appCheck {
    min-height: 56px;
  }
}

.o-appCheck__txt {
  font-size: 1rem;
  line-height: 1.625;
  font-weight: bold;
  padding: 0 20px 0 0;
}
@media screen and (max-width: 599px) {
  .o-appCheck__txt {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}
.o-appCheck__txt::before {
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  box-sizing: border-box;
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  content: "";
  border-radius: 2px;
  border: solid 1px #ccc;
  background-color: #fff;
  transform: translateY(-50%);
}
.o-appCheck__check:checked + .o-appCheck__txt::before {
  border: solid 1px #339900;
}
.o-appCheck__txt::after {
  position: absolute;
  top: calc(50% - 3px);
  right: 2px;
  box-sizing: border-box;
  display: block;
  width: 11px;
  height: 6px;
  margin: 0;
  content: "";
  border-bottom: 2px solid #ccc;
  border-left: 2px solid #ccc;
  transform: rotate(-45deg) translateY(-50%);
}
.o-appCheck__check:checked + .o-appCheck__txt::after {
  border-bottom: 2px solid #339900;
  border-left: 2px solid #339900;
}
.o-appList__item:nth-child(odd) .o-appCheck__txt {
  padding: 0 50px 0 0;
}
.o-appList__item:nth-child(odd) .o-appCheck__txt::before {
  right: 30px;
}
@media screen and (max-width: 599px) {
  .o-appList__item:nth-child(odd) .o-appCheck__txt::before {
    right: 0;
  }
}
.o-appList__item:nth-child(odd) .o-appCheck__txt::after {
  right: 32px;
}
@media screen and (max-width: 599px) {
  .o-appList__item:nth-child(odd) .o-appCheck__txt::after {
    right: 2px;
  }
}

/* ***************************
o-titleBox
*************************** */
.o-titleBox {
  border-radius: 8px;
  overflow: hidden;
}
.o-contentsBox + .o-titleBox, .o-titleBox + .o-titleBox {
  margin: 40px 0 0;
}
* + .o-titleBox {
  margin: 20px 0 0;
}
.o-chatArea + .o-titleBox {
  margin-top: 50px;
}
@media screen and (max-width: 599px) {
  .o-chatArea + .o-titleBox {
    margin-top: 40px;
  }
}

.o-titleBox__head {
  padding: 10px 10px;
  background-color: #339900;
}
.o-titleBox--blue .o-titleBox__head {
  background-color: #006c8e;
}

.o-titleBox__head__ttl {
  margin: 0 0 0;
  padding: 0 0 0;
  border-bottom: none;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  text-align: center;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-titleBox__head__ttl {
    font-size: 1rem;
    line-height: 1.625;
  }
}
.o-titleBox__head__ttl::after {
  display: none;
}

.o-titleBox__body {
  padding: 24px 20px 20px;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-titleBox__body {
    padding: 20px 16px 20px;
  }
}

.o-searchList {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 14px;
  margin: -9px -4px 0 -4px;
}
@media screen and (max-width: 599px) {
  .o-searchList {
    display: block;
    margin: 0;
  }
}

.o-searchList__item {
  width: calc(50% - 24px);
  margin: 0;
}
@media screen and (max-width: 599px) {
  .o-searchList__item {
    width: auto;
  }
}
@media screen and (max-width: 599px) {
  .o-searchList__item + .o-searchList__item {
    margin: 4px 0 0;
  }
}

/* ***************************
o-cardList
*************************** */
.o-cardList {
  display: flex;
  flex-wrap: wrap;
  gap: 28px 20px;
}
@media screen and (max-width: 599px) {
  .o-cardList {
    display: block;
    gap: 0;
  }
}

.o-cardList__item {
  width: calc(50% - 10px);
}
@media screen and (max-width: 599px) {
  .o-cardList__item {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .o-cardList__item + .o-cardList__item {
    margin-top: 30px;
    padding-top: 30px;
    border-top: solid 1px #ccc;
  }
}

.o-card {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
}
@media screen and (max-width: 599px) {
  .o-card {
    position: relative;
    padding-bottom: 34px;
  }
}

.o-card__img {
  flex-shrink: 0;
}
@media screen and (max-width: 599px) {
  .o-card__img img {
    width: 100px;
  }
}

.o-card__contetns {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 3px 0 2px;
}
@media screen and (max-width: 599px) {
  .o-card__contetns {
    padding: 1px 0 2px;
  }
}

.o-card__ttl {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-card__ttl {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}

.o-card__txt {
  margin: 3px 0 0;
}

.o-card__btn {
  margin-top: auto;
}
@media screen and (max-width: 599px) {
  .o-card__btn {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

.o-card__btn__link {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 auto;
  width: 81px;
  height: 24px;
  color: #333;
  font-weight: bold;
  font-size: 0.75rem;
  line-height: 1;
  text-decoration: none;
  border-radius: 4px;
  border: solid 1px #d1b203;
  background-color: #fff;
  box-sizing: border-box;
}
.o-card__btn__link:visited {
  color: #333;
}

.o-card__desc {
  width: 100%;
  margin: 11px 0 0;
}
@media screen and (max-width: 599px) {
  .o-card__desc {
    margin: 14px 0 0;
    font-size: 1rem;
    line-height: 1.75;
  }
}

/* ***************************
o-chat
*************************** */
.o-chatArea {
  margin: 67px 0 0;
}
@media screen and (max-width: 599px) {
  .o-chatArea {
    margin: 35px 0 0;
  }
}

.o-chatArea__head {
  text-align: center;
}

.o-chatArea__head__btn {
  margin-top: -40px;
}
@media screen and (max-width: 599px) {
  .o-chatArea__head__btn {
    margin-top: 0;
    padding: 0 15px;
  }
}

.o-chatArea__head__ttl {
  display: inline-block;
  margin: 0;
  padding: 0 16px;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  text-align: center;
  font-weight: bold;
  border: none;
}
.o-chatArea__head__ttl::before, .o-chatArea__head__ttl::after {
  position: absolute;
  bottom: 3px;
  left: 0;
  display: block;
  width: 1px;
  height: 20px;
  margin: 0;
  padding: 0;
  content: "";
  background-color: #222;
  border: none;
  transform: rotate(-40deg);
}
.o-chatArea__head__ttl::after {
  left: auto;
  right: 0;
  transform: rotate(40deg);
}
.o-chatArea__head__ttl span {
  color: #339900;
}
.o-chatArea__head__btn + .o-chatArea__head__ttl {
  margin-top: 30px;
}

.o-chatArea__body {
  margin-top: 18px;
  padding-left: 5.4347826087%;
}
@media screen and (max-width: 599px) {
  .o-chatArea__body {
    margin-top: 27px;
    padding-left: 0;
  }
}

.o-chatList__item {
  max-width: 588px;
}
.o-chatList__item + .o-chatList__item {
  margin-top: 10px;
}
@media screen and (max-width: 599px) {
  .o-chatList__item + .o-chatList__item {
    margin-top: 30px;
  }
}
.o-chatList__item:nth-child(even) {
  margin-left: auto;
}

.o-chat {
  display: flex;
  gap: 0 18px;
  width: 100%;
  align-items: center;
}
@media screen and (max-width: 599px) {
  .o-chat {
    align-items: flex-start;
  }
}

.o-chat__icon {
  position: relative;
  flex-shrink: 0;
}
.o-chatList__item:nth-child(even) .o-chat__icon {
  order: 2;
}
.o-chat__icon::before {
  position: absolute;
  top: 50%;
  right: -18px;
  display: block;
  width: 10px;
  height: 14px;
  content: "";
  background-color: #fff;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  transform: translateY(-50%);
}
.o-chatList__item:nth-child(even) .o-chat__icon {
  order: 1;
  margin-left: auto;
}
.o-chatList__item:nth-child(even) .o-chat__icon::before {
  left: -18px;
  right: auto;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.o-chat__body {
  width: 100%;
  padding: 12px 18px 12px 18px;
  border-radius: 4px;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-chat__body {
    align-self: center;
  }
}

.o-chat__txt {
  font-size: 0.875rem;
  line-height: 1.5714285714;
}

/* ***************************
merit
*************************** */
.o-meritArea {
  margin: 33px 0 0;
}

.o-meritArea__head {
  text-align: center;
}

.o-meritArea__head__ttl {
  display: inline-block;
  margin: 0;
  padding: 0 26px;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  text-align: center;
  font-weight: bold;
  border: none;
}
.o-meritArea__head__ttl::before, .o-meritArea__head__ttl::after {
  position: absolute;
  bottom: 3px;
  left: 0;
  display: block;
  width: 1px;
  height: 20px;
  margin: 0;
  padding: 0;
  content: "";
  background-color: #222;
  border: none;
  transform: rotate(-40deg);
}
.o-meritArea__head__ttl::after {
  left: auto;
  right: 0;
  transform: rotate(40deg);
}
.o-meritArea__head__ttl span {
  color: #339900;
}

.o-meritArea__body {
  margin-top: 36px;
}

.o-meritList {
  display: flex;
  gap: 0 20px;
}
@media screen and (max-width: 599px) {
  .o-meritList {
    display: block;
  }
}

.o-meritList__item {
  width: 33.3333333333%;
}
@media screen and (max-width: 599px) {
  .o-meritList__item {
    width: auto;
  }
}
@media screen and (max-width: 599px) {
  .o-meritList__item + .o-meritList__item {
    margin-top: 42px;
  }
}

.o-meritBox {
  position: relative;
  padding: 26px 30px 32px;
  border-radius: 5px;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  .o-meritBox {
    padding: 26px 15px 30px;
  }
}

.o-meritBox__num {
  position: absolute;
  top: -18px;
  left: calc(50% + 1px);
  color: #339900;
  font-family: "Roboto";
  font-size: 1.875rem;
  line-height: 1.3;
  font-weight: bold;
  transform: translateX(-50%);
}

.o-meritBox__txt {
  font-size: 1rem;
  line-height: 1.625;
  font-weight: bold;
  text-align: center;
}

.o-meritBox__img {
  margin-top: 24px;
}
@media screen and (max-width: 599px) {
  .o-meritBox__img {
    margin: 24px 15px 0;
  }
}
@media screen and (max-width: 599px) {
  .o-meritBox__img img {
    width: 100%;
  }
}

/* ***************************
merit
*************************** */
/*
pageMv
*************************** */
.o-pageMv {
  margin: 0 0 20px;
  padding: 33px 40px 31px 64px;
  background-image: url(./img/bg-img-pc@2x.png);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .o-pageMv {
    margin: 0 -20px 30px;
    padding: 26px 20px 40px;
    background-image: url(./img/bg-img-sp@2x.png);
  }
}

.o-pageMv__ttl__sub {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  font-weight: bold;
  color: #222;
}
.o-pageMv__ttl__sub::before, .o-pageMv__ttl__sub::after {
  display: block;
  width: 13px;
  height: 20px;
  content: "";
  margin: 3px 3px 0 0;
  transform: matrix(0.77, -0.64, 0.64, 0.77, 0, 0);
  border-left: 2px solid #222222;
}
@media screen and (max-width: 599px) {
  .o-pageMv__ttl__sub::before, .o-pageMv__ttl__sub::after {
    margin: 3px 11px 0 0;
  }
}
.o-pageMv__ttl__sub::after {
  margin: 3px 0 0 3px;
  transform: matrix(0.77, 0.64, -0.64, 0.77, 0, 0);
  border: none;
  border-right: 2px solid #222222;
}
@media screen and (max-width: 599px) {
  .o-pageMv__ttl__sub::after {
    margin: 3px 0 0 11px;
  }
}

.o-pageMv__ttl__main {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px;
  height: 40px;
  margin: 8px auto 0;
  padding: 0;
  font-size: 1.625rem;
  line-height: 1.0769230769;
  font-weight: bold;
  color: #fff;
  background-color: #D1B203;
  border-radius: 4px;
}
@media screen and (max-width: 599px) {
  .o-pageMv__ttl__main {
    height: 44px;
    margin: 6px auto 0;
  }
}

.o-pageMv__body {
  margin: 28px 0 0;
}
@media screen and (max-width: 599px) {
  .o-pageMv__body {
    margin: 35px 0 0;
  }
}

.o-pageMv__btn {
  display: flex;
  justify-content: center;
  margin: 31px 0 0;
}
@media screen and (max-width: 599px) {
  .o-pageMv__btn {
    margin: 13px 0 0;
  }
}

/*
mvContents
*************************** */
.o-mvContents {
  display: flex;
}
@media screen and (max-width: 599px) {
  .o-mvContents {
    display: block;
  }
}

.o-mvContents__img {
  width: 42.8921568627%;
  align-self: center;
}
@media screen and (max-width: 599px) {
  .o-mvContents__img {
    width: auto;
  }
}

.o-mvContents__body {
  width: 52.6960784314%;
  padding-left: 4.4117647059%;
}
@media screen and (max-width: 599px) {
  .o-mvContents__body {
    width: auto;
    margin: 56px 0 0;
    padding: 0 16px;
  }
}

.o-mvContents__heading {
  font-weight: bold;
}

.o-mvContents__txt {
  margin: 11px 0 0;
}

/*
entryBtnArea
*************************** */
.o-entryBtnArea {
  display: flex;
  justify-content: center;
  margin: 37px 0 0;
}

/*
entryBtn
*************************** */
.o-entryBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px;
  height: 50px;
  background-color: #339900;
  border-radius: 4px;
  cursor: pointer;
}
.o-entryBtn:hover {
  opacity: 0.8;
}
@media screen and (max-width: 599px) {
  .o-entryBtn {
    width: 318px;
  }
}
.o-entryBtnArea .o-entryBtn {
  width: 318px;
}

.o-entryBtn__icon {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.o-entryBtn__icon::before {
  display: block;
  width: 20px;
  height: 20px;
  content: "";
  background-image: url(./img/svg/icon_pen.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}

.o-entryBtn__txt {
  font-size: 1.125rem;
  line-height: 1.5555555556;
  font-weight: bold;
  color: #fff;
}

.o-entryBtn__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 24px;
  margin-left: 10px;
  color: #339900;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: bold;
  background-color: #fff;
}

/*
iconTitleH3
*************************** */
.o-iconTitleH3 {
  position: relative;
  display: block;
  margin: 0 0 0;
  padding: 3px 0 0 47px;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  border: none;
}
* + .o-iconTitleH3 {
  margin: 24px 0 0;
}
.o-iconTitleH3::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 34px;
  height: 34px;
  margin: 0;
  background-image: url(./img/svg/icon_pen.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  border: none;
  border-radius: 0;
}
.o-iconTitleH3--bell::before {
  background-image: url(./img/svg/icon_ttl_bell.svg);
}
.o-iconTitleH3--send::before {
  background-image: url(./img/svg/icon_ttl_send.svg);
}
.o-iconTitleH3--event::before {
  background-image: url(./img/svg/icon_ttl_event.svg);
}
.o-iconTitleH3--lock::before {
  background-image: url(./img/svg/icon_ttl_lock.svg);
}
.o-iconTitleH3--movie::before {
  background-image: url(./img/svg/icon_ttl_movie.svg);
}

/*
boldText
*************************** */
.o-boldText {
  padding: 0;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-boldText {
    font-size: 1rem;
    line-height: 1.75;
  }
}
.o-boldText::before {
  display: none;
}
.o-iconTitleH3 + .o-boldText {
  margin-top: 19px;
}
@media screen and (max-width: 599px) {
  .o-iconTitleH3 + .o-boldText {
    margin-top: 16px;
  }
}

/*
spSmallText
*************************** */
@media screen and (max-width: 599px) {
  .o-spSmallText {
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}
@media screen and (max-width: 599px) {
  .o-boldText + .o-spSmallText {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}

/*
limitedCardArea
*************************** */
@media screen and (max-width: 599px) {
  .o-limitedCardArea {
    overflow-x: auto;
    margin: 23px 0 0;
  }
}

@media screen and (max-width: 599px) {
  .o-limitedCardArea__body {
    display: flex;
    gap: 0 22px;
  }
}

/*
limitedCardList
*************************** */
.o-limitedCardList {
  display: flex;
  gap: 0 16px;
  margin: 23px 0 0;
}
@media screen and (max-width: 599px) {
  .o-limitedCardList {
    margin: 0 0 0;
  }
}
.o-limitedCardList + .o-limitedCardList {
  margin: 5px 0 0;
  padding: 15px 0 0;
  border-top: dashed 1px #ccc;
}
@media screen and (max-width: 599px) {
  .o-limitedCardList + .o-limitedCardList {
    margin: 0;
    padding: 0;
    border: none;
  }
}

.o-limitedCardList__item {
  width: 50%;
}
@media screen and (max-width: 599px) {
  .o-limitedCardList__item {
    width: 162px;
    flex-shrink: 0;
  }
}

/*
limitedCard
*************************** */
.o-limitedCard {
  display: flex;
  gap: 0 16px;
}
@media screen and (max-width: 599px) {
  .o-limitedCard {
    display: block;
  }
}

.o-limitedCard__img {
  flex-shrink: 0;
}
@media screen and (max-width: 599px) {
  .o-limitedCard__img {
    width: 86px;
    margin: 0 auto;
  }
  .o-limitedCard__img img {
    width: 100%;
  }
}

.o-limitedCard__body {
  margin: 0 0 0;
  padding: 2px 0 0;
}

.o-limitedCard__ttl {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .o-limitedCard__ttl {
    margin: 10px 0 0;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    text-align: center;
  }
}

.o-limitedCard__txt {
  margin: 4px 0 0;
}
@media screen and (max-width: 599px) {
  .o-limitedCard__txt {
    margin: 5px 0 0;
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}

/*
scrollText
*************************** */
.o-scrollText {
  display: none;
}
@media screen and (max-width: 599px) {
  .o-scrollText {
    display: block;
    padding: 6px 7px 16px 0;
    font-size: 0.75rem;
    line-height: 1.6666666667;
    color: #c72626;
    text-align: right;
  }
}

/*
contentsLine
*************************** */
.o-contentsLine {
  margin: 20px 0 30px;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 599px) {
  .o-contentsLine {
    margin: 22px 0 26px;
  }
}

/*
othersList
*************************** */
.o-othersList {
  margin: 0;
  list-style: none;
  counter-reset: count-number;
}
* + .o-othersList {
  margin: 21px 0 0;
}

.o-othersList__item {
  position: relative;
  padding: 0 0 0 34px;
  counter-increment: count-number;
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
.o-othersList__item + .o-othersList__item {
  margin-top: 22px;
}
.o-othersList__item::before {
  content: counter(count-number);
  position: absolute;
  top: -2px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 2px 0px 0 1px;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  font-weight: bold;
  background-color: #339900;
  border-radius: 50%;
  box-sizing: border-box;
}
.o-othersList__item + .o-othersList__item::after {
  position: absolute;
  top: -14px;
  left: 0;
  display: block;
  width: 100%;
  content: "";
  border-top: 1px dashed #ccc;
}

/*
notesList
*************************** */
.o-notesList {
  list-style: none;
  margin: 0;
}
* + .o-notesList {
  margin: 23px 0 0;
}

.o-notesList__item {
  padding: 0;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
@media screen and (max-width: 599px) {
  .o-notesList__item {
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}
.o-notesList__item + .o-notesList__item {
  margin: 0;
}
.o-notesList__item::before {
  display: none;
}

.o-formCheckList.o-formCheckList__nocolum {
  display: block;
}

.o-formCheckList__nocolum .o-formCheckList__item {
  display: block;
  width: 50%;
  margin-bottom: 10px;
}

@media screen and (max-width: 599px) {
  .o-formCheckList__nocolum .o-formCheckList__item {
    width: 100%;
  }
}
.o-formCheckList__nocolum .o-formCheck__text {
  font-size: 1.1rem;
  justify-content: center;
  padding: 16px 20px;
}

.o-formCheckList__nocolum .o-formCheck__input:checked + .o-formCheck__text {
  padding: 16px 20px;
}

.o-formCheckList__nocolum .o-formCheckList__item:last-child {
  margin-bottom: 20px;
}

.u-table-center {
  text-align: center !important;
}

.u-table-right {
  text-align: right !important;
}

.u-w100,
table.u-w100 {
  width: 100% !important;
}

.o-modalUserInfo {
  margin: 15px 0;
  padding: 10px;
  background-color: #f8f8ed;
  border-radius: 4px;
  text-align: center;
}

.o-modalUserInfo__name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
  color: #333;
}

.o-modalUserInfo__email {
  font-size: 14px;
  color: #666;
  margin-bottom: 0;
}

.o-modalWarning {
  margin-top: 15px;
  font-size: 13px;
  color: #d9534f;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .o-table--organization {
    display: block;
    width: 100%;
    border: none;
    border-collapse: initial;
  }
  .o-table--organization tbody {
    display: block;
  }
  .o-table--organization tr {
    display: block;
    border: none;
    margin-bottom: 0;
  }
  .o-table--organization th,
  .o-table--organization td {
    display: block;
    width: 100%;
    text-align: center;
    padding: 12px;
    border: 1px solid #ddd;
    margin-top: -1px;
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
  .o-table--organization th {
    font-weight: bold;
    font-size: 14px;
    color: #333;
    background-color: #f8f8ed;
    margin-top: 0;
  }
  .o-table--organization td {
    font-size: 16px;
  }
  .o-table--organization td:first-of-type {
    border-bottom: none;
  }
}
/* ***************************
o-memberMenu
*************************** */
@media screen and (max-width: 959px) {
  .o-memberMenu {
    padding: 0 15px 20px;
  }
}
* + .o-memberMenu {
  margin-top: 24px;
}

.o-memberMenu__inner {
  border-radius: 5px;
  overflow: hidden;
}

.o-memberMenu__head {
  margin: 0;
  padding: 7px 5px;
  background: #002e5b;
  border: none;
  font-size: 87.5%;
  line-height: 158%;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.o-memberMenu__head:after {
  content: none !important;
}

.o-memberMenu__body {
  margin: 0;
  padding: 9px;
  background: #fff;
}

/*
o-mbrMenuBox
*************************** */
.o-mbrMenuBox__item + .o-mbrMenuBox__item {
  margin-top: 10px;
}

.o-mbrMenuBox__head {
  margin: 0;
  padding: 5px;
  background: #002e5b;
  border: none;
  font-size: 87.5%;
  line-height: 158%;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.o-mbrMenuBox__head:before, .o-mbrMenuBox__head:after {
  content: none !important;
}

.o-mbrMenuBox__body {
  font-size: 81.25%;
  line-height: 170%;
}
* + .o-mbrMenuBox__body {
  margin-top: 10px;
}

/*
o-mbrMenuBtns
*************************** */
* + .o-mbrMenuBtns {
  margin-top: 10px;
}

.o-mbrMenuBtns__item {
  margin: 0;
  padding: 0;
}
.o-mbrMenuBtns__item + .o-mbrMenuBtns__item {
  margin-top: 10px;
}
.o-mbrMenuBtns__item + .o-mbrMenuBtns__item--leave, .o-mbrMenuBtns__item--leave + .o-mbrMenuBtns__item {
  margin-top: 20px;
}
.o-mbrMenuBtns__item:before {
  content: none !important;
}

.o-mbrMenuBtns__btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 3px 5px;
  background: #390;
  border: 2px solid #390;
  font-size: 87.5%;
  line-height: 158%;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  text-align: center;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
}
.o-mbrMenuBtns__btn--leave {
  background-color: #999;
  border-color: #999;
}
.o-mbrMenuBtns__btn:link, .o-mbrMenuBtns__btn:visited {
  color: #fff;
  text-decoration: none;
}

/* ***************************
o-sideMenu
*************************** */
.o-sideMenu {
  /* vue.jsのinclude 対応*/
}
@media screen and (max-width: 959px) {
  .o-sideMenu {
    display: none;
  }
}
* + .o-sideMenu {
  margin-top: 24px;
}

.o-memberMenu + div .o-sideMenu {
  margin-top: 24px;
}

.o-sideMenu__item + .o-sideMenu__item {
  margin-top: 10px;
}
.o-sideMenu__item:nth-child(1) + .o-sideMenu__item, .o-sideMenu__item:nth-child(2) + .o-sideMenu__item {
  margin: 0;
}
.o-sideMenu__item.is-navShow {
  margin-bottom: 10px;
}
.o-sideMenu__item.is-navShow + .o-sideMenu__item {
  margin-top: 10px;
}
.o-sideMenu__item + .o-sideMenu__item--banner {
  margin-top: 20px;
}
.o-sideMenu__item:nth-child(1), .o-sideMenu__item:nth-child(2) {
  display: none;
}
.o-sideMenu__item:nth-child(1).is-navShow, .o-sideMenu__item:nth-child(2).is-navShow {
  display: block;
}

/*
o-listSNav
*************************** */
.o-listSNav {
  border-radius: 8px;
  overflow: hidden;
}

.o-listSNav__head {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 6px 5px;
  background-color: #390;
  border: none;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.o-listSNav--expert .o-listSNav__head, .o-listSNav--paid .o-listSNav__head {
  background-color: #f48b30;
}
.o-listSNav__head:after {
  content: none !important;
}

.o-listSNav__sideBox {
  display: flex;
}

.o-listSNav__body {
  margin: 0;
  padding: 10px 0;
  background: #fff;
}
.o-listSNav__sideBox .o-listSNav__body {
  width: 50%;
  padding: 12px 10px 10px 10px;
}
.o-listSNav__sideBox .o-listSNav__body + .o-listSNav__body {
  border-left: 1px solid #e0e2e7;
}
.o-listSNav--action .o-listSNav__body {
  padding: 12px 10px 10px 10px;
}

.o-listSNav__item {
  position: relative;
  margin: 0;
  padding: 0 0;
}
.o-listSNav__item:before {
  content: none !important;
}
.o-listSNav__item + .o-listSNav__item {
  margin-top: 10px;
}
.o-listSNav--theme .o-listSNav__item, .o-listSNav--action .o-listSNav__item {
  line-height: 100%;
}
.o-listSNav--theme .o-listSNav__item + .o-listSNav__item, .o-listSNav--action .o-listSNav__item + .o-listSNav__item {
  margin-top: 8px;
}
.o-listSNav__item--lock::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: block;
  width: 8px;
  height: 12px;
  content: "";
  background-image: url(./img/svg/icon_lock_darkgray.svg);
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 0;
  transform: translateY(-50%);
}
.o-listSNav__item--btn {
  padding: 0 8px;
}

.o-listSNav__link {
  position: relative;
  display: flex;
  font-size: 0.75rem;
  line-height: 1.3333333333;
  color: #222;
  text-decoration: none;
  letter-spacing: -0.6px;
  padding: 0 8px;
  text-align: left;
  cursor: pointer;
}
.o-listSNav__link:link, .o-listSNav__link:visited {
  color: #222;
  text-decoration: none;
}
.o-listSNav__link:hover {
  text-decoration: underline;
}
.o-listSNav--theme .o-listSNav__link, .o-listSNav--action .o-listSNav__link {
  display: inline-block;
  padding: 0;
}
.o-listSNav--expert .o-listSNav__link::before, .o-listSNav--paid .o-listSNav__link::before, .o-listSNav--member .o-listSNav__link::before {
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 26px;
  height: 26px;
  margin-right: 6px;
  content: "";
  background-color: #faf1e8;
  border-radius: 50%;
}
.o-listSNav--expert .o-listSNav__link::after, .o-listSNav--paid .o-listSNav__link::after, .o-listSNav--member .o-listSNav__link::after {
  position: absolute;
  display: block;
  content: "";
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.o-listSNav--member .o-listSNav__link::before {
  background-color: #eff9ea;
}
.o-listSNav__item--lock .o-listSNav__link {
  padding: 0 25px 0 8px;
}
.o-listSNav__link--chat::after {
  top: 4px;
  left: 13px;
  width: 16px;
  height: 17px;
  background-image: url(./img/svg/icon_chat.svg);
}
.o-listSNav__link--dm::after {
  top: 6px;
  left: 14px;
  width: 14px;
  height: 12px;
  background-image: url(./img/svg/icon_send.svg);
}
.o-listSNav--member .o-listSNav__link--dm::after {
  background-image: url(./img/svg/icon_send_green.svg);
}
.o-listSNav__link--event::after {
  top: 5px;
  left: 15px;
  width: 14px;
  height: 14px;
  background-image: url(./img/svg/icon_event.svg);
}
.o-listSNav__link--service::after {
  top: 6px;
  left: 13px;
  width: 17px;
  height: 14px;
  background-image: url(./img/svg/icon_premium_orange.svg);
}
.o-listSNav__link--challenger::after {
  top: 6px;
  left: 14px;
  width: 15px;
  height: 15px;
  background-image: url(./img/svg/icon_book.svg);
}
.o-listSNav__link--weather::after {
  top: 4px;
  left: 14px;
  width: 17px;
  height: 14px;
  background-image: url(./img/svg/icon_weather.svg);
}
.o-listSNav__link--use::after {
  top: 0;
  left: 8px;
  width: 26px;
  height: 26px;
  background-image: url(./img/svg/icon_use.svg);
}
.o-listSNav__link--freeEvent::after {
  top: 5px;
  left: 15px;
  width: 14px;
  height: 14px;
  background-image: url(./img/svg/icon_event_green.svg);
}
.o-listSNav__link--apines::after {
  top: 5px;
  left: 15px;
  width: 12px;
  height: 16px;
  background-image: url(./img/svg/icon_bell.svg);
}
.o-listSNav__link--column::after {
  top: 5px;
  left: 16px;
  width: 10px;
  height: 15px;
  background-image: url(./img/svg/icon_lock_green.svg);
}
.o-listSNav__link--movie::after {
  top: 6px;
  left: 14px;
  width: 14px;
  height: 14px;
  background-image: url(./img/svg/icon_movie_green.svg);
}
.o-listSNav__link--cultivationAi::after, .o-listSNav__link--managementAi::after {
  top: 0;
  left: 8px;
  width: 26px;
  height: 26px;
  background-image: url(./img/svg/icon_ai01.svg);
}
.o-listSNav__link--managementAi::after {
  background-image: url(./img/svg/icon_ai02.svg);
}
.o-listSNav__link--btn {
  justify-content: center;
  width: 100%;
  height: 32px;
  padding: 0;
  text-align: center;
  background: #ff861d 0% 0% no-repeat padding-box;
  border-radius: 4px;
}
.o-listSNav__link--btn::before, .o-listSNav__link--btn::after {
  display: none !important;
}
.o-listSNav__link--btn:hover {
  text-decoration: none;
  opacity: 0.8;
}

.o-listSNav__link__body {
  align-self: center;
}
.o-listSNav__link--lock .o-listSNav__link__body::after {
  display: inline-block;
  width: 8px;
  height: 12px;
  margin: 0 0 0 7px;
  content: "";
  background-image: url("./img/svg/icon_lock_gray.svg");
  background-color: transparent;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-listSNav__link--btn .o-listSNav__link__body {
  color: #fff;
}

/*
o-listSNav
*************************** */
.o-sideBanner__item {
  margin: 0;
  padding: 0;
}
.o-sideBanner__item:before {
  content: none !important;
}
.o-sideBanner__item + .o-sideBanner__item {
  margin-top: 8px;
}

.o-sideBanner__link {
  display: block;
  transition: opacity 0.3s;
}
.o-sideBanner__link:after {
  content: none !important;
}
.o-sideBanner__link:hover {
  opacity: 0.6;
}

/* ***************************
o-topLinkBanner
*************************** */
.o-topLinkBanner {
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .o-topLinkBanner {
    border-radius: 0;
  }
}
* + .o-topLinkBanner {
  margin-top: 22px;
}
@media screen and (max-width: 959px) {
  * + .o-topLinkBanner {
    margin-top: 0;
  }
}

.o-topLinkBanner__body {
  position: relative;
  padding: 25px;
}
@media screen and (max-width: 959px) {
  .o-topLinkBanner__body {
    padding: 40px 10px 24px;
  }
}
@media screen and (max-width: 959px) {
  .l-base--toppage .o-topLinkBanner__body {
    padding: 30px 10px 24px;
  }
}

.o-topLinkBanner__item {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  .o-topLinkBanner__item {
    padding: 0 10px;
  }
}
.o-topLinkBanner__item:before {
  content: none !important;
}
.o-topLinkBanner__item + .o-topLinkBanner__item {
  margin-top: 10px;
}

.o-topLinkBanner__link {
  display: block;
  transition: opacity 0.3s;
}
.o-topLinkBanner__link:after {
  content: none !important;
}
.o-topLinkBanner__link:hover {
  opacity: 0.6;
}
.o-topLinkBanner__link img {
  width: 100%;
}

/*
slide parts
--------------------------- */
.o-topLinkBanner__body .slick-list {
  z-index: 1;
  overflow: visible;
}
.o-topLinkBanner__body .slick-dots {
  position: absolute;
  display: flex;
  justify-content: center;
  width: 100%;
  left: 0;
  bottom: 6px;
  margin: 0;
  padding: 0;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .o-topLinkBanner__body .slick-dots {
    bottom: 0;
  }
}
.o-topLinkBanner__body .slick-dots li {
  margin: 0;
  padding: 0;
}
.o-topLinkBanner__body .slick-dots li:before {
  content: none !important;
}
.o-topLinkBanner__body .slick-dots li + li {
  margin-left: 2px;
}
.o-topLinkBanner__body .slick-dots button {
  position: relative;
  display: block;
  width: 10px;
  height: 10px;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.o-topLinkBanner__body .slick-dots button:before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #999;
  border-radius: 50%;
}
.o-topLinkBanner__body .slick-dots li.slick-active button:before {
  background: #390;
}

/* ***************************
o-floatingBanner
*************************** */
.o-floatingBanner a,
.o-floatingBanner button {
  display: block;
  transition: opacity 0.3s;
  cursor: pointer;
}
.o-floatingBanner a:hover,
.o-floatingBanner button:hover {
  opacity: 0.6;
}

/* ***************************
display
*************************** */
@media screen and (min-width: 600px) {
  .u-pcNone {
    display: none !important;
  }
}

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

/* ***************************
text
*************************** */
/* ------------------------
text-align
------------------------ */
.u-alignCenter {
  text-align: center !important;
}

.u-alignLeft {
  text-align: left !important;
}

.u-alignRight {
  text-align: right !important;
}

/* ------------------------
vertical-align
------------------------ */
.u-alignTop {
  vertical-align: top !important;
}

.u-alignMiddle {
  vertical-align: middle !important;
}

.u-alignBottom {
  vertical-align: bottom !important;
}

/* ------------------------
white-space
------------------------ */
.u-longText {
  white-space: pre-wrap;
}

/* ------------------------
font-size
------------------------ */
.u-fsXsmall {
  font-size: 0.875rem;
  line-height: 1.5714285714;
}
ul.u-fsXsmall > li:before {
  width: 6px;
  height: 6px;
}

.u-fsSmall {
  font-size: 0.9375rem;
  line-height: 1.6;
}
ul.u-fsSmall > li:before {
  width: 6px;
  height: 6px;
}

.u-fsNormal {
  font-size: 1rem;
  line-height: 1.625;
}

.u-fsLarge {
  font-size: 1.0625rem;
  line-height: 1.6470588235;
}

.u-fsXlarge {
  font-size: 1.125rem;
  line-height: 1.5555555556;
}

.u-fsXXlarge {
  font-size: 1.25rem;
  line-height: 1.4;
}

/* ------------------------
font-weight
------------------------ */
.u-fwNormal {
  font-weight: normal !important;
}

.u-fwBold {
  font-weight: bold !important;
}

/* ------------------------
font-color
------------------------ */
.u-fcEmphasis {
  color: #390;
}

/* ***************************
margin
*************************** */
/*
top
--------------------------- */
.u-mt0 {
  margin-top: 0 !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mt65 {
  margin-top: 65px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mt85 {
  margin-top: 85px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mt95 {
  margin-top: 95px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mt-n {
  margin-top: 12px;
}

/*
right
--------------------------- */
.u-mr0 {
  margin-right: 0 !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-mr65 {
  margin-right: 65px !important;
}

.u-mr70 {
  margin-right: 70px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-mr85 {
  margin-right: 85px !important;
}

.u-mr90 {
  margin-right: 90px !important;
}

.u-mr95 {
  margin-right: 95px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

/*
bottom
--------------------------- */
.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mb65 {
  margin-bottom: 65px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mb85 {
  margin-bottom: 85px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-mb95 {
  margin-bottom: 95px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

/*
left
--------------------------- */
.u-ml0 {
  margin-left: 0 !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-ml65 {
  margin-left: 65px !important;
}

.u-ml70 {
  margin-left: 70px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-ml80 {
  margin-left: 80px !important;
}

.u-ml85 {
  margin-left: 85px !important;
}

.u-ml90 {
  margin-left: 90px !important;
}

.u-ml95 {
  margin-left: 95px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

/* ***************************
print
*************************** */
@media print {
  body {
    width: 950px;
    margin: auto;
  }
  .l-base {
    min-height: auto;
    padding-top: 0 !important;
    background: none;
  }
  /* header */
  .l-base__header {
    position: relative;
    width: auto;
    top: auto;
    left: auto;
  }
  .o-logo__text {
    display: none;
  }
  .l-header__body__right {
    display: none;
  }
  /* nav */
  .l-nav {
    display: none;
  }
  .o-overlay {
    display: none;
  }
  /* content */
  .l-base__body {
    padding: 20px 0 54px;
  }
  .l-base__main {
    width: 100%;
  }
  .l-base__side {
    display: none;
  }
  .l-main__top {
    padding: 0 15px;
  }
  .l-main__middle {
    padding: 0 15px;
  }
  /* */
  .o-article__info__btn,
  .o-article__info__fav,
  .o-article__info__share {
    display: none;
  }
  .o-printBtn {
    display: none;
  }
  .o-article__bottom {
    display: none;
  }
  /* modal */
  .modaal-wrapper,
  .modaal-overlay {
    display: none;
  }
  .o-imgModal {
    padding-bottom: 0;
  }
  .o-imgModal:before {
    content: none !important;
  }
  .o-formBox__printBtn {
    display: none;
  }
  /* footer */
  .l-footer__top {
    display: none;
  }
  .l-base__floatBnr {
    display: none;
  }
}
.mr-letsApplyBtn {
  margin-top: 40px;
  text-align: center;
}

.mr-letsApplyBtn__btn {
  margin-right: auto;
  margin-left: auto;
  color: #fff;
  text-align: center;
  background-color: #339900;
  border-color: #339900;
}

.mr-letsApplyBtn__btn::after {
  background: url(/common/css/img/icon_circle_arrow.png) 0 -104px no-repeat;
  background-size: 100% 500%;
}

.mr-letsApplyBtn__btn:link, .mr-letsApplyBtn__btn:visited {
  color: #fff;
}

.mr-letsApplyBtn__btn:hover {
  color: #339900;
  background-color: #fff;
}

.mr-letsApplyBtn__btn:hover::after {
  background-position: 0 0;
}

@media (max-width: 599px) {
  .mr-letsApplyBtn {
    margin-top: 20px;
  }
}
.mr-block h2 {
  margin-bottom: 30px;
}

.mr-block + .mr-block {
  margin-top: 70px;
}

@media (max-width: 599px) {
  .mr-block + .mr-block {
    margin-top: 40px;
  }
}
/* merit css (merit Prefix is mr)
---------------------------------------------- */
.mr-hero {
  margin-bottom: 50px;
}

.mr-hero__title {
  max-width: 330px;
  padding: 20px 10px;
  color: #fff;
  font-size: 214.28571%;
  font-weight: bold;
  text-align: center;
  background-color: #339900;
  border-radius: 5px;
}

.mr-hero__row {
  display: flex;
}

.mr-hero__catch {
  padding-top: 15px;
  color: #339900;
  font-size: 214.28571%;
  font-weight: bold;
  line-height: 1.33333;
  text-align: center;
}

.mr-hero__text {
  width: 35.86957%;
  margin-right: 30px;
}

.mr-hero__subcatch {
  margin-bottom: 16px;
}

.mr-hero__descNote {
  margin-top: 0;
  text-align: right;
}

.mr-hero__img {
  width: 60.86957%;
}

@media (max-width: 599px) {
  .mr-hero__title {
    font-size: 185.71429%;
  }
  .mr-hero__row {
    display: flex;
  }
  .mr-hero__catch {
    font-size: 185.71429%;
  }
  .mr-hero__row {
    flex-direction: column-reverse;
  }
  .mr-hero__img, .mr-hero__text {
    width: 100%;
  }
  .mr-hero__img {
    margin-top: 20px;
  }
}
/* mr-memberContent
---------------------------------------------- */
.mr-memberContent ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}

.mr-memberContent ul > li::before {
  display: none;
}

.mr-memberContent li {
  width: calc(48.36957% - 50px);
  margin: 0 0 35px;
  padding: 20px 25px 25px;
  background-color: #fff;
  border-radius: 20px;
}

@media (max-width: 599px) {
  .mr-memberContent {
    display: block;
  }
  .mr-memberContent li {
    width: 100%;
    margin: 0 0 25px;
    padding: 20px 15px 25px;
    border-radius: 10px;
  }
}
.mr-memberContentItem {
  font-size: 128.57143%;
}

.mr-memberContentItem__catch {
  color: #00997e;
  font-size: 111.11111%;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}

.mr-memberContentItem__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 65px;
  margin: 20px 0 30px;
  text-align: center;
}

.mr-memberContentItem__title {
  margin-bottom: 5px;
  padding: 0;
  font-size: 100%;
  text-align: center;
  border-left: 0;
}

.mr-memberContentItem__title::before {
  display: none;
}

.mr-memberContentItem__lead {
  margin-top: 0;
  line-height: 1.55556;
}

@media (max-width: 599px) {
  .mr-memberContentItem {
    font-size: 100%;
  }
  .mr-memberContentItem__icon {
    margin: 10px 0 15px;
  }
}
/* mr-funcs
---------------------------------------------- */
.mr-funcs .o-scrollHint {
  margin-top: 5px;
}

.mr-funcs table {
  width: 100%;
  font-size: 128.57143%;
  border: none;
}

.mr-funcs table thead td {
  background: none;
  border: none;
}

.mr-funcs table thead th {
  width: 166px;
  padding: 7px 10px;
  color: #fff;
  text-align: center;
  background-color: #00997e;
}

.mr-funcs table thead th + th {
  border-left-width: 2px;
  border-left-color: #ffffff;
}

.mr-funcs table tbody td {
  border-width: 0 0 2px 0;
}

.mr-funcs table tbody td:first-child {
  background: none;
  border-bottom-color: #fff;
}

.mr-funcs table tbody td:first-child span {
  padding-right: 15px;
  color: #00997e;
  font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "MS ゴシック", sans-serif;
  font-size: 133.33333%;
  font-weight: bold;
  font-style: italic;
}

.mr-funcs table tbody td:nth-child(2),
.mr-funcs table tbody td:nth-child(3) {
  text-align: center;
  border-bottom-color: #f5f5f5;
}

.mr-funcs table tbody td:nth-child(3) {
  background-color: #e2fed4;
}

.mr-funcs__note {
  margin: 20px 0 50px;
}

.mr-funcs__note li + li {
  margin-top: 4px;
}

.mr-funcs__note a {
  color: #339900;
}

@media (max-width: 599px) {
  .mr-funcs table {
    font-size: 100%;
  }
  .mr-funcs table thead th {
    width: 140px;
    padding: 7px 5px;
  }
  .mr-funcs table tbody td:first-child span {
    padding-right: 10px;
  }
  .mr-funcs__note {
    margin: 20px 0 30px;
  }
}
/* mr-faq
---------------------------------------------- */
.mr-faq a {
  color: #339900;
}

.mr-faq dl {
  font-size: 128.57143%;
}

.mr-faq dt {
  margin-bottom: 15px;
}

.mr-faq dt span {
  display: inline-block;
  min-width: 45px;
  padding-right: 10px;
  color: #00997e;
  font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "MS ゴシック", sans-serif;
  font-size: 133.33333%;
  font-weight: bold;
  font-style: italic;
}

.mr-faq dd {
  margin-left: 55px;
  padding-left: 40px;
  font-weight: bold;
  line-height: 1.5;
  background: url(icon_arrow-r.png) left 0.35em no-repeat;
}

.mr-faq dd:not(last-child) {
  margin-bottom: 25px;
}

@media (max-width: 599px) {
  .mr-faq dt {
    margin-bottom: 10px;
  }
  .mr-faq dt span {
    min-width: 30px;
    padding-right: 5px;
  }
  .mr-faq dd {
    margin-left: 5px;
    background-position: left 0.5em;
  }
  .mr-faq dd:not(last-child) {
    margin-bottom: 15px;
  }
}
/* ***************************
プレミアムサービス利用の流れ専用スタイル
*************************** */
.premium-use-flow__description {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 24px 0;
}

.premium-use-flow__service-description {
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 24px 0;
}

/* プレミアムSTEPスタイル */
.premium-step {
  max-width: 380px;
  width: 100%;
  margin: 32px auto;
}

.premium-step__item {
  display: flex;
  align-items: flex-start;
  position: relative;
  margin-bottom: 0;
}

.premium-step__item:not(:last-child) {
  margin-bottom: 24px;
}

.premium-step__icon {
  position: relative;
  flex-shrink: 0;
  margin-right: 8px;
}

.premium-step__icon-circle {
  width: 60px;
  height: 60px;
  background-color: #390;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

.premium-step__icon-text {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 2px;
}

.premium-step__icon-number {
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  font-family: 'Arial', sans-serif;
}

.premium-step__content {
  flex: 1;
  padding-top: 18px;
}

.premium-step__text {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  color: #339900;
  font-weight: bold;
}

/*# sourceMappingURL=main.css.map */
/* ========================================
   トップページAIボタン (2025-11-19追加)
   ======================================== */
/* AIボタン群のコンテナ */
.o-topAiButtons {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 16px;
  padding: 0;
}

/* AIボタンのリンク */
.o-topAiButtons__link {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #339900;
  color: #ffffff;
  text-decoration: none;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.1rem;
  transition: background-color 0.3s ease;
  min-height: 40px;
}

.o-topAiButtons__link:hover {
  background-color: rgba(51, 153, 0, 0.7);
  color: #ffffff;
}

.o-topAiButtons__link:visited {
  color: #ffffff;
}

.o-topAiButtons__link:after {
  content: none !important;
  display: none !important;
}

/* スマホ表示の調整 */
@media (max-width: 599px) {
  .o-topAiButtons {
    gap: 6px;
    margin-bottom: 12px;
  }

  .o-topAiButtons__link {
    font-size: 14px;
    padding: 2px 2px;
  }
}
