@charset "utf-8";
/*--------------------------------------------------------------------------------

共通/common

--------------------------------------------------------------------------------*/
body {
  background: #d1eaf6;
}

body.top {
  background: url(../../image/index_bg.jpg);
}

div#bgcontainer {
  display: flex;
  justify-content: space-between;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow-y: hidden;
  /*    background: rgba(204, 204, 204, 0.5);*/
}

div#bgcontainer .bglist {
  width: 360px !important;
  /*    margin: auto;*/
  overflow-y: hidden;
  overflow-x: visible;
}

div#bgcontainer .bgitem {
  position: relative;
  margin: 0 0 80px;
  overflow-x: visible;
}

div#bgcontainer .bgitem figure {
  overflow-x: visible;
}

div#bgcontainer .bgitem img {
  position: relative;
}

/*--------------------------------------------------------------------------------

ヘッダー/header

--------------------------------------------------------------------------------*/

#gheader {
  position: relative;
  z-index: 9999;
  background: url(../../image/header_bg.jpg) center center;
  box-shadow: 0px 2px 3px 3px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 2px 3px 3px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 2px 3px 3px rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 960px) {
  #gheader.scroll {
    padding-bottom: 60px;
  }
}

#gheader .col_l {
  padding: 15px 0;
}

#gheader .col_r {
  padding: 20px 0;
  text-align: center;
}

#gheader .sub_nav {
  display: inline-block;
  width: 120px;
  margin-right: 10px;
  vertical-align: middle;
  text-align: center;
}

#gheader .sub_nav li {
  margin: 0;
  margin-bottom: 10px;
  line-height: 1em;
  font-size: 16px;
}

#gheader .sub_nav li:last-child {
  margin-bottom: 0;
}

#gheader .sub_nav a {
  display: block;
  box-sizing: border-box;
  color: #ffffff;
  background: #29b6f6;
  padding: 5px;
  border-radius: 5px;
  transition: 0.3s all ease-in;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  #gheader .sub_nav a {
  }
}
@-moz-document url-prefix() {
  #gheader .sub_nav a {
  }
}

#gheader .sub_nav a:hover {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.6);
  transition: 0.3s all ease-out;
}

#gnav {
  background: url(../../image/gnav_bg.jpg) center center;
}

#gnav ul {
  font-size: 0;
  text-align: center;
  margin: auto;
}

#gnav li {
  display: inline-block;
  border-right: 1px solid #9fdbf7;
  font-size: 18px;
  line-height: 1em;
}

#gnav li:first-child {
  border-left: 1px solid #9fdbf7;
}

#gnav li.manga {
  position: relative;
}

#gnav li.manga:before {
  content: "";
  display: block;
  border: 5px solid #ffffff;
  border-bottom: 5px solid transparent;
  border-right: 5px solid transparent;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);

  position: absolute;
  top: 60px;
  right: 1.2em;
  z-index: 999;
}

#gnav li.manga:after {
  content: url(../../image/sub_face.png);
  display: inline-block;
  padding: 0.2em 0.5em;
  font-size: 14px;
  line-height: 0;
  background: #ffffff;
  color: #ffffff;
  border-radius: 10px;
  position: absolute;
  top: 65px;
  right: 0.5em;
  z-index: 998;

  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.5);
}

#gnav a {
  display: block;
  padding: 20px;
  color: #ffffff;
  font-weight: bold;
  background: #28b6f6;
  transition: 0.3s background ease-in;
}

#gnav a:hover {
  color: #28b6f6;
  background: #ffffff;
  transition: 0.3s background ease-out;
}

#gnav a.active {
  color: #28b6f6;
  background: #ffffff;
}

#gnav.scroll li {
  font-size: 15px;
}

#gnav.scroll a {
  padding: 10px 20px;
  font-weight: normal;
}

#gnav.scroll .manga:before,
#gnav.scroll .manga:after {
  display: none;
}

.btn_top {
  display: inline-block;
  padding: 1em;
  width: 50px;
  height: 50px;
  background: url(../../image/top_back.jpg);
  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  position: fixed;
  right: 1em;
  bottom: 2em;
}

@media screen and (min-width: 960px) {
  #gnav.scroll {
    width: 100%;
    position: fixed;
    top: 0;
    top: 0;
  }

  #gheader .btn_menu,
  #gnav .btn_close {
    display: none;
  }
}

/*--------------------------------------------------------------------------------
追加
--------------------------------------------------------------------------------*/

.top_image_title {
  width: 100%;
  height: 250px;
  margin-bottom: 30px;
  text-align: center;
  background-image: url(../../image/comoon_image.jpg);
}
.top_image_title p {
  font-size: 50px;
  line-height: 1.1em;
  text-shadow: 2px 2px #fff, -2px -2px #fff, 4px 4px 4px #888;
  padding-top: 80px;
}

.campaign_order {
  width: 90%;
  height: auto;
  display: block;
  background: #3df;
  border: 1px solid #3df;
  border-radius: 8px;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  margin: 0 auto;
  margin-top: 30px;
  padding: 6px 0 3px;
  text-align: center;
  box-shadow: 2px 2px 2px #888;
}
.campaign_order a {
  text-decoration: none;
}
.campaign_price {
  width: 90%;
  height: auto;
  background: #fff;
  border: 1px solid #3df;
  border-radius: 8px;
  color: #3df;
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 50px;
  padding: 6px 0 3px;
  text-align: center;
  box-shadow: 2px 2px 2px #888;
}

.news_link {
  width: 95%;
  height: auto;
  display: inline-block;
  background: #fd3;
  border: 1px solid #fd3;
  border-radius: 3px;
  font-size: 1em;
  font-weight: bold;
  color: #fff;
  padding: 2px 0 0;
  text-align: center;
}

.news_link a {
  font-weight: bold;
  color: #fff;
}

/*--------------------------------------------------------------------------------

一般/common

--------------------------------------------------------------------------------*/
.wrapper {
  width: 960px;
  margin: auto;
}

.top_image {
  width: 100%;
  margin-bottom: 30px;
  text-align: center;
  background: url(../../image/comoon_image.jpg) center top repeat-x;
}

.col_l {
  float: left;
}

.col_r {
  float: right;
}

#mainArea {
  display: block;
  position: relative;
}

#sidebar {
  width: 220px;
  float: left;
}

.sidenav {
  padding: 10px;
  border: 2px solid #29b6f6;
  border-radius: 7px;
  background: #ffffff;
  font-size: 16px;
}

.sidenav > ul > li {
  border-bottom: 2px solid #29b6f6;
  line-height: 1em;
}

.sidenav > ul > li:last-child {
  border-bottom: 0;
}

.sidenav > ul > li > a {
  position: relative;
  display: block;
  padding: 15px 0;
  font-size: 18px;
  color: #29b6f6;
}

.sidenav > ul > li:first-child > a {
  padding-top: 5px;
}

.sidenav > ul > li:last-child > a {
  padding-bottom: 5px;
}

.sidenav .childnav {
  padding: 14px 0 14px 10px;
  border-top: 2px solid #29b6f6;
  font-size: 14px;
}

.sidenav .childnav li:not(:last-child) {
  margin-bottom: 10px;
}

.sidenav .childnav a {
  color: #29b6f6;
}

.sidenav a {
  transition: 0.3s all ease-in;
}

.sidenav a:hover {
  opacity: 0.6;
  transition: 0.3s all ease-out;
}

.sidenav.scroll {
  padding: 0 10px;
}

.sidenav.scroll > ul > li > a {
  padding: 12px 0;
  font-size: 16px;
}

.side_link {
  margin-top: 20px;
}

.side_link:first-child {
  margin-top: 0;
}

.side_link li {
  margin-bottom: 15px;
}

.side_link li:last-child {
  margin-bottom: 0;
}

.side_link li a {
  display: block;
  transition: 0.3s all ease-in;
}

.side_link li a:hover {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transition: 0.3s all ease-out;
}

.side_link .bnr_foot {
  border-radius: 5px;
  background: #29b6f6;
  padding: 1em;
  color: #ffffff;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.3);
}

.side_bnr {
  margin-top: 20px;
}

.side_bnr:first-child {
  margin-top: 0;
}

.side_bnr li {
  margin-bottom: 15px;
}

.side_bnr li:last-child {
  margin-bottom: 0;
}

.side_bnr li a {
  display: block;
  transition: 0.3s all ease-in;
}

.side_bnr li a:hover {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transition: 0.3s all ease-out;
}

.side_bnr .bnr_temp {
  border-radius: 5px;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.3);
}

.content_area {
  width: 700px;
  margin-bottom: 150px;
  float: right;
  font-size: 18px;
}

.content_box {
  box-sizing: border-box;
  padding: 30px;
  margin-bottom: 30px;
  background: #ffffff;
  border-radius: 10px;
}

.content_box:last-child {
  margin-bottom: 0;
}

.content_area a {
  color: #000000;
  text-decoration: underline;
  transition: 0.3s all ease-in;
}

.content_area a:hover {
  opacity: 0.6;
  transition: 0.3s all ease-out;
}

.content_box h2 {
  font-size: 32px;
  font-weight: bold;
  color: #29b6f6;
  line-height: 1em;
  margin-bottom: 20px;
}

#icon_nav {
  display: none;
  position: fixed;
  top: 65px;
  right: 0;
  background: rgba(255, 255, 255, 0.7);
  padding: 10px;
  font-size: 14px;
  border-radius: 7px 0 0 7px;
}

#icon_nav li {
  border-bottom: 1px solid #cccccc;
  text-align: center;
}

#icon_nav li:last-child {
  border-bottom: 0;
}

#icon_nav li a {
  display: block;
  padding: 10px;
  color: #29b6f6;
  transition: 0.3s all ease-in;
}

#icon_nav li a:hover {
  transform: scale(1.15);
  transition: 0.3s all ease-out;
}

#icon_nav li a span {
  margin-top: 1em;
  display: block;
}

/*--------------------------------------------------------------------------------

コンテンツ/content

--------------------------------------------------------------------------------*/

.top_box {
  width: 800px;
  margin: 40px auto 50px;
}

.top_box .top_title {
  position: relative;
  padding: 24px 0 40px;
  background: #29b6f6;
  /*    border-radius: 10px 10px 0 0;*/
  border-radius: 10px;
  text-align: center;
}

.top_box .top_title:after {
  content: "";
  display: block;
  width: 197px;
  height: 219px;
  background: url(../../image/top_face.png) no-repeat;
  position: absolute;
  top: 10px;
  right: 10px;
}

.top_box #top_nav {
  height: 72px;
  margin-bottom: 95px;
  /*    background: #ffffff;*/
  position: relative;
  /*    border-top: 1px dashed #4d4d4d;*/
  margin-top: 35px;
}

.top_box #top_nav ul {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  width: 960px;
  margin: 0 -80px;
  text-align: center;
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
}

.top_box #top_nav ul li {
  margin-right: 13px;
}

.top_box #top_nav ul li a {
  display: block;
  transition: 0.3s all ease-in;
}

.top_box #top_nav ul li a:hover {
  transform: rotate(15deg);
  -webkit-transform: rotate(15deg);
  transition: 0.3s all ease-out;
}

.top_box #top_nav ul li:nth-child(5n) {
  margin-right: 0;
}

.top_box .top_news {
  width: 80%;
  box-sizing: border-box;
  padding: 15px;
  margin: auto;
  background: #ffffff;
  border-radius: 7px;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.4);
}

.top_box .top_news h2 {
  padding-bottom: 10px;
  border-bottom: 1px dashed #888;
}

.top_box .top_news li {
  font-size: 15px;
  padding: 10px 0;
  border-bottom: 1px dashed #888;
}

.top_box .top_news li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.top_box .top_news li time {
  display: inline-block;
  width: 6.5em;
  margin-right: 1em;
}

.top_box .top_news li a {
  display: inline-block;
  width: calc(100% - 1em);
  vertical-align: top;
  color: #000000;
  transition: 0.3s all ease-in;
}

.top_box .top_news li a:hover {
  color: #29b6f6;
  transition: 0.3s all ease-out;
}

#about_qa dl {
  display: block;
  box-sizing: border-box;
  margin-bottom: 30px;
  padding: 15px;
  padding-left: 80px;
  border-radius: 10px;
}

#about_qa dl:last-child {
  margin-bottom: 0;
}

#about_qa dt {
  position: relative;
  padding-bottom: 10px;
}

#about_qa dt:before {
  content: "";
  display: block;
  width: 52px;
  height: 61px;
  background: url(../../image/about_qa_q.png) no-repeat;
  position: absolute;
  left: -60px;
  top: 0;
}

#about_qa dd:first-of-type {
  position: relative;
  margin-top: 10px;
}

#about_qa dd:first-of-type:before {
  content: "";
  display: block;
  width: 38px;
  height: 50px;
  background: url(../../image/about_qa_a.png) no-repeat;
  position: absolute;
  left: -50px;
  top: -10px;
}

#about_qa dd p {
  margin-bottom: 1em;
}

#about_qa dd p:last-child {
  margin-bottom: 0;
}

#about_qa h3 {
  height: 61px;
  font-size: 28px;
  font-weight: bold;
  line-height: 61px;
}

#about_qa dl:nth-child(1n) {
  background: #ffe0e3;
}

#about_qa dl:nth-child(1n) h3 {
  color: #f34865;
}

#about_qa dl:nth-child(2n) {
  background: #dbfcf6;
}

#about_qa dl:nth-child(2n) h3 {
  color: #1bcaae;
}

#about_qa dl:nth-child(3n) {
  background: #fffad9;
}

#about_qa dl:nth-child(3n) h3 {
  color: #ff8400;
}

#about_qa .qa_image {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  margin: 30px 0 20px;
}

#about_greeting h3 {
  font-weight: bold;
  font-size: 24px;
  color: #29b6f6;
  margin-bottom: 20px;
}

#about_greeting figure {
  margin-bottom: 20px;
}

#about_greeting .greeting_name {
  margin-top: 20px;
  font-weight: bold;
  text-align: right;
}

#about_business h3 {
  font-weight: bold;
  font-size: 24px;
  color: #29b6f6;
  margin-bottom: 10px;
}

#about_business .business_list {
  margin-bottom: 30px;
}

#about_business .business_list:last-child {
  margin-bottom: 0;
}

#about_business .business_list dd {
  text-align: justify;
}

#about_business .business_list dd figure {
  float: right;
  margin: 0 0 15px 15px;
}

#about_business .business_list ._btn {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 20px;
  margin-top: 20px;
  background: #29b6f6;
  color: #ffffff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  line-height: 1em;
  border-radius: 5px;
}

#about_profile {
  margin-bottom: 30px;
}

#about_profile .about_table {
  width: 100%;
  border: 1px solid #626262;
  margin-bottom: 30px;
}

#about_profile .about_table tr {
  border-bottom: 1px solid #626262;
}

#about_profile .about_table th {
  border-right: 1px solid #626262;
  width: 130px;
}

#about_profile .about_table th,
#about_profile .about_table td {
  padding: 10px;
}

#about_profile .about_history {
  margin-bottom: 1em;
}

#about_profile .about_history:last-of-type {
  margin-bottom: 30px;
}

#about_profile .about_history:after {
  content: "";
  display: block;
  clear: both;
}

#about_profile .about_history dt {
  display: block;
  width: 140px;
  float: left;
}

#about_profile .about_history dd {
  display: block;
  width: 500px;
  float: right;
}

#about_map #map_canvas {
  width: 100%;
  height: 500px;
}

.btn_product {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  align-items: stretch;
  -webkit-align-items: stretch;
  box-sizing: border-box;
  font-size: 0;
  margin-bottom: 30px;
  padding: 30px;
  border-radius: 10px;
  background: #ffffff;
}

.btn_product li {
  position: relative;
  width: calc((100% - 69px) / 4);
  font-size: 15px;

  padding: 10px;
}

.btn_product li:first-child,
.btn_product li:nth-child(4n + 1) {
  padding-left: 0;
}

.btn_product li:nth-child(4n) {
  padding-right: 0;
}

.btn_product li:before {
  content: "";
  display: block;
  background: url(../../image/btn_product_border.png);
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -1.5px;
  left: 0;
}

.btn_product li:after {
  content: "";
  display: block;
  background: url(../../image/btn_product_border.png);
  width: 3px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1.5px;
}

.btn_product li:nth-child(4n):after {
  display: none;
}

.btn_product li a {
  display: block;
  background: #ffffff;
  color: #29b6f6;
  text-decoration: none;
  line-height: 1em;
  text-align: center;
}

.btn_product li a span {
  display: block;
  margin-top: 0.5em;
}

.btn_product li a span.small {
  display: inline;
  font-size: 0.8em;
}

.btn_product li a img {
  margin-right: 0.5em;
}

#product h2 {
  margin-bottom: 30px;
}

#product h3 {
  font-size: 24px;
  font-weight: bold;
  color: #29b6f6;
  line-height: 1em;
  margin-bottom: 20px;
}

#product_detail .product_box {
  padding: 24px 0 30px;
  border-bottom: 1px solid #c9c9c9;
}

#product_detail .product_box:first-child {
  padding-top: 0;
}

#product_detail .product_box:last-child {
  border-bottom: none;
}

#product_detail .product_box h4 {
  display: inline;
  font-size: 24px;
  line-height: 1.8em;
  color: #29b6f6;
  font-weight: bold;
  border-bottom: 8px solid #ffff80;
}

#product_detail .product_box h4:after {
  content: "";
  display: block;
  margin-bottom: 18px;
}

#product_detail #detail .col_l {
  width: 350px;
}

#product_detail #detail .col_r {
  width: 290px;
}

#product_detail #detail .holo_list {
  width: 332px;
  display: flex;
  display: -webkit-flex;
  margin: 2rem 0;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  justify-content: space-between;
}

#product_detail #detail .holo_list li {
  text-align: center;
  margin-bottom: 0.8rem;
}

#product_detail #detail .holo_list li a {
  display: block;
}

#product_detail #detail .holo_list li span {
  font-size: 12px;
  display: block;
}

#product_detail #detail div[data-prd]:not([data-prd="hook"]),
#product_detail #size div[data-prd]:not([data-prd="hook"]),
#product_detail #price table[data-prd]:not([data-prd="hook"]) {
  display: none;
}

/*
#product_detail .product_size {
    font-size: 0;
    text-align: center;
    margin-bottom: -30px;
    perspective: 1000;
}

#product_detail .product_size li {
    display: inline-block;
    width: calc((100% - 50px)/3);
    margin-right: 25px;
    margin-bottom: 30px;
    font-size: 16px;
}

#product_detail .product_size li:nth-child(3n) {
    margin-right: 0;
}

#product_detail .product_size li span {
    display: block;
}
*/

#product_detail .product_size {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: flex-end;
  -webkit-align-items: flex-end;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: -30px;
}

#product_detail .product_size:after {
  content: "";
  display: block;
  width: calc(100% / 3);
}

#product_detail .product_size li {
  width: calc(100% / 3);
  text-align: center;
  margin-bottom: 30px;
  font-size: 16px;
  perspective: 1000;
}

#product_detail .product_size li:nth-child(3n) {
  margin-right: 0;
}

#product_detail .product_size li .size_img {
  position: relative;
  z-index: 50;
  display: block;
  transform-style: preserve-3d;
  width: 100%;
  min-height: 73px;
  transition: 0.3s;
  transition-property: transform;
  transition-delay: 0.1s;
}

#product_detail .product_size li .size_img img {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;

  backface-visibility: hidden;
}

#product_detail .product_size li .size_img .front {
  z-index: 50;
}

#product_detail .product_size li .size_img .back {
  z-index: 50;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  #product_detail .product_size li .size_img .front {
    z-index: 50;
  }

  #product_detail .product_size li .size_img .back {
    z-index: 49;
  }
  #product_detail .product_size li .size_img:hover .front {
    display: none;
  }
}

@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  #product_detail .product_size li .size_img .back {
    transform: rotateY(180deg);
  }

  #product_detail .product_size li .size_img:hover {
    transform: rotateY(180deg);
    transition: 0.3s;
    transition-property: transform;
    transition-delay: 0.1s;
  }
  #product_detail .product_size li .size_img:hover .front {
    display: block;
  }
}

@-moz-document url-prefix() {
  #product_detail .product_size li .size_img .back {
    transform: rotateY(180deg);
  }

  #product_detail .product_size li .size_img:hover {
    transform: rotateY(180deg);
    transition: 0.3s;
    transition-property: transform;
    transition-delay: 0.1s;
  }
}

_:-ms-lang(x),
#product_detail .product_size li .size_img .front {
  z-index: 50;
}

_:-ms-lang(x),
#product_detail .product_size li .size_img .back {
  z-index: 49;
}

_:-ms-lang(x),
#product_detail .product_size li .size_img:hover .front {
  display: none;
}

#product_detail .product_price {
  width: 100%;
  text-align: center;
  font-size: 16px;
  border: 1px solid #626262;
  table-layout: fixed;
}

#product_detail .product_price tr {
  border-bottom: 1px solid #626262;
}

#product_detail .product_price th,
#product_detail .product_price td {
  padding: 10px;
  border-right: 1px solid #626262;
}

#product_detail .product_price th {
  width: 100px;
  text-align: left;
}

#product_detail .product_price td .small {
  display: block;
  font-size: 0.8em;
}

#product_detail .product_price td.nosize {
  background: #eeeeee;
}

#product .send_box .sendfee {
  font-size: 2em;
  font-weight: bold;
}

#product .send_box .emphasis {
  color: #29b6f6;
  font-weight: bold;
}

#product .send_box:not(:last-child) {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #c9c9c9;
}

#product .send_box p:not(:last-child) {
  margin-bottom: 1em;
}

#product .send_box#send_map {
  text-align: center;
}

#product .send_box#send_map h3 {
  text-align: left;
}

#product .send_box#send_map p {
  font-size: 14px;
  color: #ff0000;
  margin-top: 30px;
}

#product .bagging_list {
  display: flex;
  display: -webkit-flex;
  width: 100%;
  margin-bottom: 30px;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  text-align: center;
}

#product .bagging_list span {
  display: block;
  margin-top: 10px;
}

#product .extra_option {
  padding: 15px;
  border: 2px solid #ffda21;
  padding-bottom: 0px;
}

#product .extra_option p {
  font-size: 18px;
  font-weight: bold;
}

#product .extra_option ul {
  font-size: 0;
  margin-top: 20px;
}

#product .extra_option li {
  display: inline-block;
  padding: 15px;
  margin-right: 15px;
  margin-bottom: 15px;
  background: #ffda21;
  font-size: 16px;
  border-radius: 5px;
}

#info_law .info_table {
  border: 1px solid #626262;
}

#info_law .info_table tr {
  border-bottom: 1px solid #626262;
}

#info_law .info_table th,
#info_law .info_table td {
  padding: 10px;
}

#info_law .info_table th {
  width: 170px;
  border-right: 1px solid #626262;
}

#info_privacy .privacy_box,
#info_rules .privacy_box {
  height: 400px;
  padding: 15px;
  border: 1px solid #a0a0a0;
  overflow-y: scroll;
  font-size: 16px;
}

#info_privacy .privacy_box h3 {
  font-weight: bold;
  margin-top: 2em;
  margin-bottom: 0.5em;
}

#info_privacy .privacy_box h3:first-child {
  margin-top: 0;
}

#info_privacy .privacy_box .info_contact {
  padding-top: 2em;
  margin-top: 2em;
  border-top: 1px dotted #a0a0a0;
}

#info_rules .privacy_box p {
  margin-bottom: 2em;
}

#works h3 {
  color: #29b6f6;
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 0.3em;
}

#works .works_list {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  align-items: stretch;
  -webkit-align-items: stretch;
  margin-bottom: -20px;
}

#works .works_list li {
  display: block;
  box-sizing: border-box;
  width: 226px;
  margin-right: 10px;
  margin-bottom: 20px;
  padding: 10px;
  padding-bottom: 30px;
  font-size: 16px;
  background: #ffffff;
  border-radius: 10px;
}

#works .works_list li:nth-child(3n) {
  margin-right: 0;
}

#works .works_list li figure {
  display: block;
  margin-bottom: 15px;
}

#howto #create_design {
  margin-top: 70px;
}

#howto .howto_box {
  margin-bottom: 70px;
}

#howto .howto_box h3 {
  margin-bottom: 25px;
}

#howto .howto_box p {
  margin-bottom: 1em;
  text-align: justify;
}

#howto .howto_box .design_attention {
  box-sizing: border-box;
  border: 1px solid #ff333d;
  border-radius: 7px;
  padding: 20px;
  padding-bottom: 0;
  margin: 30px 0;
}

#howto .howto_box .design_attention li {
  display: flex;
  display: -webkit-flex;
  padding: 20px 0;
  border-bottom: 1px solid #808080;
  align-items: center;
  -webkit-align-items: center;
}

#howto .howto_box .design_attention li:last-child {
  border-bottom: 0;
}

#howto .howto_box .design_attention span {
  margin-right: 20px;
}

#howto .howto_box .design_attention p {
  margin-bottom: 0;
  font-weight: bold;
}

#howto .howto_box .howto_example {
  box-sizing: border-box;
  padding: 15px;
  box-shadow: 1.5px 1.5px 7px 0 rgba(0, 0, 0, 0.3);
  border-radius: 7px;
}

#howto .howto_box .howto_example h4 {
  margin-bottom: 20px;
}

#howto .howto_box .howto_example li {
  margin-bottom: 40px;
}

#howto .howto_box .howto_example li:last-child {
  margin-bottom: 25px;
}

#howto #howto_jpg .howto_box:first-of-type {
  margin-top: 30px;
}

#howto .howto_box .howto_jpg_order {
  display: flex;
  display: -webkit-flex;
  align-items: flex-start;
}

#howto .howto_box .howto_jpg_order img {
  margin-right: 20px;
}

@media screen and (min-width: 960px) {
  #howto .howto_box p {
    width: 400px;
  }
}

#howto .template_list {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  align-items: stretch;
  -webkit-align-items: stretch;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  margin-bottom: -0px;
}

#howto .template_list li {
  width: calc((100% - 30px) / 2);
  margin-bottom: 30px;
}

#howto .template_list li a {
  display: block;
  box-sizing: border-box;
  padding: 20px;
  padding-left: 30px;
  background: #29b6f6;
  color: #ffffff;
  text-decoration: none;
  border-radius: 5px;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.3);
}

#howto .read_require {
  box-sizing: border-box;
  padding: 20px;
  margin-bottom: 30px;
  box-shadow: 2px 2px 7px 0 rgba(0, 0, 0, 0.3);
  border-radius: 7px;
}

#howto .read_require h3 {
  font-size: 24px;
  color: #ff0000;
  font-weight: bold;
  margin-bottom: 20px;
}

#howto .read_require a {
  color: #29b6f6;
}

#howto .read_require_list {
  list-style: disc;
  margin-left: 1.5em;
  font-size: 16px;
}

#howto .read_require_list .red {
  color: #ff0000;
}

#howto .read_require .file_list {
  font-size: 0;
}

#howto .read_require .file_list {
  margin: 10px auto -15px;
}

#howto .read_require .file_list li {
  display: inline-block;
  padding: 12px;
  font-size: 16px;
  color: #ffffff;
  background: #29b6f6;
  border-radius: 5px;
  margin-right: 24px;
  margin-bottom: 15px;
}

#howto .howto_size {
  border: 1px solid #626262;
  width: 100%;
}

#howto .howto_size tr {
  border-bottom: 1px solid #626262;
}

#howto .howto_size th,
#howto .howto_size td {
  padding: 10px;
}

#howto .howto_size th {
  width: 170px;
  border-right: 1px solid #626262;
}

#howto #design_support p:not(:last-child) {
  margin-bottom: 1em;
}

#howto #design_support .support_text {
  margin-top: 20px;
  color: #29b6f6;
  font-weight: bold;
}

#faq h2 {
  margin-bottom: 30px;
}

#faq .faq_list h3 {
  margin-bottom: 20px;
}

#faq .faq_list > li {
  border-bottom: 1px solid #c9c9c9;
  margin-bottom: 30px;
}

#faq .faq_list > li:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

#faq .faq_list dl {
  margin-bottom: 30px;
}

#faq .faq_list dl ul {
  margin-top: 30px;
}

#faq .faq_list dl li {
  list-style: disc;
  margin-left: 1.5em;
  margin-bottom: 30px;
  color: #29b6f6;
}

#faq .faq_list dl li:last-child {
  margin-bottom: 0;
}

#faq .faq_list dl li p {
  color: #000000;
}

#faq .faq_list dt {
  background: #29b6f6;
  padding: 15px;
  font-size: 21px;
  line-height: 1em;
  color: #ffffff;
  border-radius: 5px;
}

#faq .faq_list dd {
  box-sizing: border-box;
  margin-top: -5px;
  padding: 25px 20px 25px;
  font-size: 16px;
  border: 1px solid #29b6f6;
  border-radius: 0 0 5px 5px;
}

.football h2 {
  margin-bottom: 50px;
  text-align: center;
}

.football h3 {
  margin-bottom: 30px;
}

.football .main_image {
  margin-bottom: 30px;
}

.football .content_area {
  width: 960px;
  margin-top: 30px;
}

.football .content_box p {
  margin-bottom: 1em;
}

.football .football_image {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: stretch;
  -webkit-align-items: stretch;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  font-size: 16px;
}

.football .football_image li {
  width: 440px;
  margin-bottom: 35px;
}

.comic_list img {
  width: 100%;
}

/*--------------------------------------------------------------------------------

フッター/footer

--------------------------------------------------------------------------------*/

#gfooter {
  padding: 20px 0 30px;
  background: #29b6f6;
}

#gfooter .sitemap {
  width: 220px;
  float: left;
  font-size: 14px;
  line-height: 1em;
}

#gfooter .sitemap li {
  margin-bottom: 10px;
}

#gfooter .sitemap li:last-child {
  margin-bottom: 0;
}

#gfooter .sitemap a {
  color: #ffffff;
  text-decoration: underline;
}

#gfooter .footer_info {
  position: relative;
  font-size: 14px;
  float: right;
  color: #ffffff;
}

#gfooter .footer_info h1 {
  font-size: 18px;
  line-height: 1em;
  margin-bottom: 1em;
}

#gfooter .footer_info small {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
}

/*--------------------------------------------------------------------------------

拡張/java/css

--------------------------------------------------------------------------------*/

#viva {
  margin-top: -240px;
  position: absolute;
  width: 30%;
  max-width: 195px;
  right: 0;
  z-index: 9999;
}

@media screen and (max-width: 640px) {
  #viva {
    margin-top: -180px;
  }
}

@media screen and (max-width: 480px) {
  #viva {
    margin-top: -140px;
  }
}

#viva img {
  width: 100%;
}

.theme-default {
  margin-bottom: 30px;
}

/* Swiperスライドショー画像のアスペクト比維持・レスポンシブ対応 */
.swiper {
  width: 100%;
  max-width: 800px; /* 必要に応じて調整 */
  margin: 0 auto;
  aspect-ratio: 800/348; /* 元画像のアスペクト比に合わせる */
  background: #f5f5f5;
  position: relative;
}
.swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  max-width: 100%;
  max-height: 100%;
  background: #fff;
}
@media (max-width: 600px) {
  .swiper {
    aspect-ratio: 800/348; /* スマホ時も同じ比率を維持 */
  }
}
