@charset "UTF-8";
body {
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

img {
  max-width: 100%; }

a img:hover {
  opacity: 0.7; }

.flex_box {
  display: flex; }

.section_area_nospace {
  margin: 0 auto; }

.section_area_space {
  margin: 40px auto 40px; }

.marker_y {
  background: linear-gradient(transparent 60%, #ffff66 60%);
  font-weight: bold; }

.red {
  color: red;
  font-weight: bold; }

.ec-layoutRole {
  background: url("../img/ori/bg_ptn.jpg"); }

.ec-layoutRole .ec-layoutRole__contents {
  margin-top: 20px; }

.ec-headerRole {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0px; }

.ec-headerTitle .ec-headerTitle__title {
  text-align: left; }

.header-logo {
  width: 50%; }

.header-info {
  width: 50%; }

.header-admin {
  background-color: #997000;
  padding: 5px; }

.ec-headerNav .ec-headerNav__itemLink {
  color: #fff;
  font-weight: bold; }

.ec-headerTitle .ec-headerTitle__title a {
  margin-bottom: 0px; }

.header-navi {
  display: flex;
  justify-content: space-between; }
  .header-navi a:hover {
    text-decoration: none; }

.header-contact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 5px auto; }

.header-sns {
  width: 100%;
  display: flex;
  justify-content: flex-end; }
  .header-sns a {
    display: inline-block;
    margin: 5px; }

.header-mail {
  width: 50%; }

.ec-categoryNaviRole {
  max-width: 100%;
  padding: 0;
  background-color: #342D71; }

.ec-itemNav__nav li a {
  color: #fff;
  background-color: #342D71; }
  .ec-itemNav__nav li a:hover {
    color: #342D71; }

.ec-itemNav__nav li ul li a {
  color: #fff !important; }

.ec-itemNav__nav > li:hover > a {
  color: #342D71 !important; }

.ec-headerNavSP {
  left: auto;
  right: 10px; }

.mainvisual_wrapper {
  background: url("../img/ori/mainvisual_bg.jpg");
  background-size: contain;
  background-repeat: repeat-x; }

.mainvisual img {
  max-width: 100%;
  display: block;
  margin: 0 auto; }

.top_first {
  align-items: flex-start; }
  .top_first h2 {
    margin: 10px auto 20px !important; }
  .top_first .flex_child {
    width: 50%; }
    .top_first .flex_child:nth-child(2) {
      padding-left: 20px;
      font-size: 1.2em; }
  .top_first p {
    margin-bottom: 15px;
    font-weight: bold; }

.top_second .white_box {
  background-color: #fff;
  padding: 20px 20px;
  width: 80%;
  margin: 0 auto; }

.top_second h2 {
  text-align: left;
  font-weight: bold;
  font-size: 2em;
  margin-bottom: 30px; }

.top_second .flex_child img {
  margin: 0 auto;
  display: block; }

.top_second .flex_child:nth-child(1) {
  width: 30%; }

.top_second .flex_child:nth-child(2) {
  width: 70%;
  padding-left: 20px;
  font-size: 1.2em; }

.top_second .flex_child p {
  margin-bottom: 15px;
  font-weight: bold; }

.top_types h2 {
  margin-right: 40px; }

.top_types .types_box {
  display: flex;
  align-items: flex-start; }

.top_types .flex_box {
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }

.top_types .flex_child {
  width: 30%;
  margin-top: 0px;
  margin-bottom: 40px; }
  .top_types .flex_child h3 {
    text-align: center; }
  .top_types .flex_child .item_photo {
    width: 100%; }
  .top_types .flex_child .detail_link {
    display: flex; }
    .top_types .flex_child .detail_link a:hover {
      text-decoration: none; }
  .top_types .flex_child .listlink {
    padding: 10px;
    width: 50%;
    display: block;
    text-align: center;
    color: #fff;
    background-color: #997000; }
    .top_types .flex_child .listlink:hover {
      color: #997000;
      background-color: #fff; }
  .top_types .flex_child .aboutlink {
    padding: 10px;
    width: 50%;
    display: block;
    text-align: center;
    color: #fff;
    background-color: #332500; }
    .top_types .flex_child .aboutlink:hover {
      color: #332500;
      background-color: #fff; }

.top_types .allitem_link {
  display: block;
  margin: 0 auto; }

.top_newitem a {
  text-decoration: none; }
  .top_newitem a .ec-newItemRole__listItemTitle {
    color: #000;
    font-size: 1.5em; }
  .top_newitem a .ec-newItemRole__listItemPrice {
    color: red;
    font-size: 1.5em;
    text-align: right; }

.top_newitem .flex_box {
  justify-content: flex-start; }

.top_newitem .flex_child {
  margin: 10px 15px; }
  .top_newitem .flex_child img {
    object-fit: cover;
    width: 100%;
    height: 195px; }

.ec-newsRole .ec-newsRole__news {
  background: #fff; }

.ec-footerRole {
  background-image: url("../img/ori/footer_cloud01.png"), url("../img/ori/footer_cloud02.png");
  background-repeat: no-repeat,no-repeat;
  background-position: center right,bottom left;
  padding-top: 10px; }
  .ec-footerRole:before {
    border-bottom: solid 4px #F8B400;
    content: ' ';
    width: 100%;
    height: 2px;
    display: block; }

.ec-footerRole__inner {
  padding: 10px;
  align-items: flex-start; }
  .ec-footerRole__inner p {
    text-align: left; }
  .ec-footerRole__inner .header-sns {
    justify-content: flex-start; }
  .ec-footerRole__inner .footer_left {
    width: 30%; }
  .ec-footerRole__inner .footer_right {
    width: 70%; }
    .ec-footerRole__inner .footer_right .ec-footerNavi {
      margin-top: 300px; }
    .ec-footerRole__inner .footer_right .footer_kingyo {
      position: relative; }
      .ec-footerRole__inner .footer_right .footer_kingyo div {
        position: absolute; }
        .ec-footerRole__inner .footer_right .footer_kingyo div:nth-child(1) {
          top: -10px;
          left: 30%; }
        .ec-footerRole__inner .footer_right .footer_kingyo div:nth-child(2) {
          top: 120px;
          left: 50%; }
        .ec-footerRole__inner .footer_right .footer_kingyo div:nth-child(3) {
          top: -100px;
          right: 10%; }
    .ec-footerRole__inner .footer_right img {
      width: auto !important; }

.ec-footerTitle__copyright {
  text-align: center;
  color: #fff; }

.animation01 {
  -webkit-animation: horizontal1 1s ease-in-out infinite alternate; }
  .animation01 img {
    -webkit-animation: vertical 1s ease-in-out infinite alternate; }

.animation02 {
  -webkit-animation: horizontal2 2s ease-in-out infinite alternate; }
  .animation02 img {
    -webkit-animation: vertical 2s ease-in-out infinite alternate; }

.animation03 {
  -webkit-animation: horizontal1 1s ease-in-out infinite alternate; }
  .animation03 img {
    -webkit-animation: vertical2 1s ease-in-out infinite alternate; }

.animation04 {
  -webkit-animation: horizontal2 2s ease-in-out infinite alternate; }
  .animation04 img {
    -webkit-animation: vertical2 2s ease-in-out infinite alternate; }

.main_content {
  margin: 10px 16px 48px;
  padding: 8px 40px;
  background-color: #fff; }
  .main_content h2 {
    border-left: solid 10px #F8B400;
    padding-left: 20px;
    font-size: 1.5em; }
  .main_content .content_child {
    padding: 20px; }
    .main_content .content_child p {
      margin-bottom: 1.5rem;
      line-height: 2.0; }
    .main_content .content_child h3 {
      border-bottom: solid 1px #000;
      margin-bottom: 15px;
      padding-bottom: 8px; }
    .main_content .content_child h4 {
      background: #efefef;
      padding: 10px; }

.tb {
  margin: 10px 16px 30px;
  padding: 8px　0; }
  .tb ul {
    border: solid 2px #ffb03f;
    padding: 0.5em;
    position: relative;
    margin-top: 2em;
    background-color: #fff; }
  .tb ul li {
    line-height: 1.5;
    padding: 0.5em 0 0.5em 1.4em;
    border-bottom: dashed 1px silver;
    list-style-type: none !important; }
  .tb ul li:last-of-type {
    border-bottom: none; }
  .tb ul li:after {
    /*タイトルタブ*/
    background: #ffb03f;
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: -2px;
    bottom: 100%;
    padding: 1px 7px;
    content: "目次";
    letter-spacing: 0.05em; }

.ec-off1Grid {
  padding: 80px 0;
  background: #fff; }
  .ec-off1Grid ul {
    margin: 10px auto; }
  .ec-off1Grid p {
    margin-bottom: 10px; }

.ec-shelfGrid__item-image {
  height: auto !important; }
  .ec-shelfGrid__item-image img {
    object-fit: cover;
    width: 100% !important;
    height: 200px; }

#page_product_list .item_name {
  color: #000;
  font-size: 1.5em; }

#page_product_list .item_price {
  color: red;
  font-size: 1.5em;
  text-align: right; }

.ec-productRole__description {
  width: 100%;
  margin: 40px auto;
  padding: 0px 0 20px; }
  .ec-productRole__description iframe {
    display: block;
    margin: 0px auto;
    max-width: 100%; }

.ec-layoutRole .ec-layoutRole__main {
  padding: 10px 0; }

.kingyo_movie {
  padding: 20px; }
  .kingyo_movie .flex_box {
    justify-content: space-between; }
    .kingyo_movie .flex_box .flex_child {
      padding: 10px;
      flex-basis: 100%; }

@-webkit-keyframes horizontal1 {
  0% {
    -webkit-transform: translateX(-3px); }
  100% {
    -webkit-transform: translateX(0px); } }

@-webkit-keyframes horizontal2 {
  0% {
    -webkit-transform: translateX(5px); }
  100% {
    -webkit-transform: translateX(0px); } }

@-webkit-keyframes vertical {
  0% {
    -webkit-transform: translateY(-4px); }
  100% {
    -webkit-transform: translateY(0px); } }

@-webkit-keyframes vertical2 {
  0% {
    -webkit-transform: translateY(8px); }
  100% {
    -webkit-transform: translateY(-2px); } }

@media screen and (max-width: 767px) {
  .section_area_space {
    margin: 20px 5px; }
  .flex_box {
    flex-direction: column; }
  .flex_child {
    width: 100% !important; }
  .header-logo {
    width: calc( 90% - 20px);
    padding: 10px; }
  .header-admin, .header-contact {
    display: none; }
  .mainvisual_wrapper {
    background: url("../img/ori/mainvisual_bg.jpg");
    background-size: cover;
    background-repeat: repeat-x; }
  .mainvisual img {
    display: block;
    margin: 0 auto;
    max-width: 95%; }
  .top_first .flex_child:nth-child(2), .top_second .flex_child:nth-child(2) {
    padding-left: 0px; }
  .top_second .white_box {
    width: 95%; }
  .top_second h2 {
    text-align: center;
    font-size: 1.8em; }
  .top_types h2 {
    width: 100%; }
    .top_types h2 img {
      margin: 10px auto;
      display: block; }
  .top_types .types_box {
    flex-direction: column; }
    .top_types .types_box .flex_box {
      flex-direction: row !important;
      flex-wrap: wrap; }
    .top_types .types_box .flex_child {
      width: 49% !important; }
  .top_newitem a .ec-newItemRole__listItemTitle {
    font-size: 1.2em; }
  .top_newitem a .ec-newItemRole__listItemPrice {
    font-size: 1.1em; }
  .top_newitem .types_box .flex_child {
    width: 47% !important;
    margin: 10px 5px; }
  .ec-newsRole .ec-newsRole__news {
    padding: 3px 10px; }
  .ec-footerTitle {
    padding: 20px 0; }
  .ec-footerRole__inner .footer_left {
    width: 100%; }
  .ec-footerRole__inner .footer_right {
    width: 100%; }
    .ec-footerRole__inner .footer_right .ec-footerNavi {
      margin-top: 250px; }
    .ec-footerRole__inner .footer_right .footer_kingyo {
      position: relative; }
      .ec-footerRole__inner .footer_right .footer_kingyo div {
        position: absolute; }
        .ec-footerRole__inner .footer_right .footer_kingyo div:nth-child(1) {
          top: -10px;
          left: 0%; }
        .ec-footerRole__inner .footer_right .footer_kingyo div:nth-child(2) {
          top: -50px;
          right: 0%; }
        .ec-footerRole__inner .footer_right .footer_kingyo div:nth-child(3) {
          top: 0px;
          right: 0%; }
  .ec-pageHeader h1 {
    font-size: 1.6em;
    text-align: center;
    padding: 12px; }
  .main_content {
    margin: 10px auto 20px;
    padding: 8px 10px; }
    .main_content .content_child {
      padding: 5px; }
      .main_content .content_child h3 {
        font-size: 1.5rem; }
      .main_content .content_child p {
        font-size: 1.2rem; }
      .main_content .content_child li {
        font-size: 1.2rem; }
  .ec-off1Grid {
    padding: 20px 20px; }
  #page_product_list .item_name {
    font-size: 1.2em; }
  #page_product_list .item_price {
    color: red;
    font-size: 1.1em; } }
