body {
  margin: 0;
  padding: 0;
  position: relative; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

.bg {
  position: fixed;
  left: 0;
  width: 100%;
  background-color: #fff;
  background-image: url("../img/bg.png");
  background-repeat: no-repeat;
  z-index: -1;
  opacity: 0.4; }
  @media only screen and (max-width: 767px) {
    .bg {
      top: 0;
      background-position: center center;
      background-size: cover;
      height: 100vh; } }
  @media only screen and (min-width: 768px) {
    .bg {
      background-position: center top;
      top: -30px;
      background-size: auto;
      height: 200vh;
      width: 100%; } }

@media only screen and (max-width: 767px) {
  .inner {
    margin: 0 15px;
    box-sizing: border-box; } }
@media only screen and (min-width: 768px) {
  .inner {
    max-width: 1050px;
    margin: 0 auto; } }

.intro {
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .intro {
      margin: 20px 0 30px; } }
  @media only screen and (min-width: 768px) {
    .intro {
      margin: 100px 0 80px; } }

.prod {
  font-family: 'Rounded Mplus 1c'; }
  @media only screen and (max-width: 767px) {
    .prod {
      margin: 0 0 35px; } }
  @media only screen and (min-width: 768px) {
    .prod {
      margin: 0 0 90px; } }
  .prod .inner {
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.7);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    border-radius: 20px; }
    @media only screen and (max-width: 767px) {
      .prod .inner {
        padding: 40px 20px; } }
    @media only screen and (min-width: 768px) {
      .prod .inner {
        padding: 60px; } }
  .prod .prod_container {
    display: flex;
    align-items: center;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      .prod .prod_container {
        flex-direction: column; } }
    @media only screen and (min-width: 768px) {
      .prod .prod_container {
        justify-content: center; } }
    .prod .prod_container .image {
      filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.3)); }
      @media only screen and (max-width: 767px) {
        .prod .prod_container .image {
          width: 100%;
          order: 1;
          margin: 0 0 35px;
          text-align: center; } }
      @media only screen and (min-width: 768px) {
        .prod .prod_container .image {
          text-align: center;
          margin: 0; } }
    .prod .prod_container .prod_info {
      box-sizing: border-box;
      width: 100%;
      display: flex;
      flex-direction: column; }
      @media only screen and (max-width: 767px) {
        .prod .prod_container .prod_info {
          order: 2;
          padding: 0; } }
      @media only screen and (min-width: 768px) {
        .prod .prod_container .prod_info {
          max-width: 330px;
          margin-right: 30px; } }
      .prod .prod_container .prod_info h3 {
        padding: 0; }
        @media only screen and (max-width: 767px) {
          .prod .prod_container .prod_info h3 {
            margin: 0 0 10px;
            font-size: 1.3rem; } }
        @media only screen and (min-width: 768px) {
          .prod .prod_container .prod_info h3 {
            margin: 0 0 15px;
            font-size: 1.6rem; } }
      .prod .prod_container .prod_info dl {
        display: flex;
        width: 100%;
        margin: 0 0 10px;
        padding: 0; }
        @media only screen and (max-width: 767px) {
          .prod .prod_container .prod_info dl {
            font-size: 0.95rem; } }
        .prod .prod_container .prod_info dl dt {
          width: 20%;
          margin: 0;
          padding: 0;
          font-weight: bold; }
        .prod .prod_container .prod_info dl dd {
          width: 80%;
          margin: 0;
          padding: 0; }
      .prod .prod_container .prod_info .price {
        padding: 0;
        text-align: right;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          .prod .prod_container .prod_info .price {
            font-size: 1.2rem;
            margin: 25px 0 0; } }
        @media only screen and (min-width: 768px) {
          .prod .prod_container .prod_info .price {
            font-size: 1.5rem;
            margin: 35px 0 0; } }
        .prod .prod_container .prod_info .price span {
          font-weight: normal;
          margin-left: 10px; }
          @media only screen and (min-width: 768px) {
            .prod .prod_container .prod_info .price span {
              font-size: 0.9rem; } }
      .prod .prod_container .prod_info .order_link {
        margin: 30px 0 0; }
        .prod .prod_container .prod_info .order_link dl {
          display: flex;
          width: 100%;
          margin: 0;
          padding: 15px 5px;
          border-top: #333 solid 1px;
          box-sizing: border-box; }
          .prod .prod_container .prod_info .order_link dl:last-child {
            border-bottom: #333 solid 1px; }
          .prod .prod_container .prod_info .order_link dl dt {
            width: 25%;
            margin: 0;
            padding: 0;
            display: flex;
            align-items: center; }
          .prod .prod_container .prod_info .order_link dl dd {
            width: 75%;
            margin: 0;
            padding: 0;
            text-align: right; }
            .prod .prod_container .prod_info .order_link dl dd .link {
              background: #0079E6;
              margin: 0 0 0 auto;
              text-align: center;
              border-radius: 5px;
              width: 180px;
              height: 43px;
              line-height: 43px; }
              .prod .prod_container .prod_info .order_link dl dd .link a {
                text-decoration: none;
                color: #fff;
                font-size: 0.9rem;
                display: block;
                width: 100%; }
              .prod .prod_container .prod_info .order_link dl dd .link:hover {
                opacity: 0.8; }
              .prod .prod_container .prod_info .order_link dl dd .link .icon {
                margin-right: 7px; }

.sale {
  font-family: 'Rounded Mplus 1c'; }
  @media only screen and (max-width: 767px) {
    .sale {
      margin: 0 0 35px; } }
  @media only screen and (min-width: 768px) {
    .sale {
      margin: 0 0 60px; } }
  .sale .inner {
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.7);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    border-radius: 20px; }
    @media only screen and (max-width: 767px) {
      .sale .inner {
        padding: 40px 20px; } }
    @media only screen and (min-width: 768px) {
      .sale .inner {
        padding: 60px; } }
  .sale h3 {
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .sale h3 {
        margin: 0 0 10px;
        font-size: 1.3rem; } }
    @media only screen and (min-width: 768px) {
      .sale h3 {
        margin: 0 0 15px;
        font-size: 1.6rem; } }
  .sale dl {
    display: flex;
    width: 100%;
    margin: 0 0 10px;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .sale dl {
        font-size: 1.1rem;
        flex-direction: column; } }
    @media only screen and (min-width: 768px) {
      .sale dl {
        font-size: 1.2rem; } }
    .sale dl dt {
      margin: 0;
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .sale dl dt {
          width: 100%; } }
      @media only screen and (min-width: 768px) {
        .sale dl dt {
          width: 13%; } }
    .sale dl dd {
      margin: 0;
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .sale dl dd {
          width: 100%; } }
      @media only screen and (min-width: 768px) {
        .sale dl dd {
          width: 87%; } }

/*
.link {
	margin: 40px auto 15px;
	a {
		text-decoration: none;
		background: linear-gradient(#5cabef, #3071e2);
		display: block;
		width: 100%;
		text-align: center;
		color: #fff;
		border-radius: 5px;
		margin: 0 auto;
		padding: 20px 0;
		font-weight: 600;
		box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
		letter-spacing: 0.05em;
		position: relative;
		cursor: pointer;
		@include mq-pc {
			font-size: 1.0rem;
			max-width: 500px;
		}
		&::before {
			@include mq-pc {
				content: '';
				border: 0px;
				border-top: solid 3px #fff;
				border-right: solid 3px #fff;
				-ms-transform: rotate(45deg);
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
				position: absolute;
				top: 41%;
				right: 5%;
				width: 10px;
			  	height: 10px;
			}
		}
		&:hover {
			opacity: 0.8;
		}
	}
}
*/
@media only screen and (min-width: 768px) {
  .sponly {
    display: none; } }

@media only screen and (max-width: 767px) {
  .pconly {
    display: none; } }

.global_head {
  margin: 0;
  padding: 0; }
