@charset "utf-8";@charset "UTF-8";
.image {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.image img {
	display: block;
	width: 100%;
	height: auto;
}

.box2 {
    /* padding-bottom: 10%; */
    padding-top: 5%;
}
.box3 {
    padding-bottom: 10%;
    padding-top: 3%;
}


/* テキスト */

.text01 {
    font-size: 1.1em;
    line-height: 25px;
    width: 100%;
    margin: 0% auto;
    text-align: center;
    padding: 5%;
    font-weight: 400;
}

section {
  max-width: 310px;
  margin: 0 auto;
}

a.btn_02 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  padding: 0 6% 0 12%;
  color: #000;
  font-size: 1.0em;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  font-family: "Playfair Display", serif;
}

a.btn_02:hover {
  background: #000;
  color: #fff;
}

a.btn_02:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: 50%;
  left: 6%;
  margin-top: -7px;
}

a.btn_02:hover:before {
  border-color: transparent transparent transparent #fff;
}

/* 商品説明*/

.product-layout {
    display: flex;
    gap: 48px;
    align-items: flex-start;
    max-width: 900px;
    margin: 40px auto;
}

.product-image img {
    width: 420px;
    height: auto;
}

.product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.product-info h1 {
    color: #000000;
    font-size: 2.5em;
    margin-bottom: 18px;
    line-height: 1.2;
    padding-top: 80%;
}

.product-description {
    color: #000000;
    font-size: 1.0em;
    margin-bottom: 28px;
    line-height: 1.6;
    font-weight: 400;
}

.buy-btn {
    width: 60px;
    padding: 1px 1px;
    font-size: 1.0em;
    color: #000000;
    background: transparent;
    border: 1px solid #000000;
    cursor: pointer;
    margin: 1%;
}

.buy-btn:hover {
  background:#5d76a4;
  color: #fff;
}

/* スライドテキスト */
.container10 {
    display: grid;
    grid-template-columns: 0.5fr;
    grid-template-rows: 0.2fr 0.5fr 0.2fr;
    gap: 20px 20px;
    grid-auto-flow: row;
    justify-content: center;
    justify-items: center;
    grid-template-areas:
        "photoimage10"
        "tittle10"
        "textimage10";
    margin-top: 10%;
}

.photoimage10 { grid-area: photoimage10; 
   width:40%;
}

.tittle10 { grid-area: tittle10; }

.textimage10 {
    grid-area: textimage10;
    font-size: 1.0em;
    width: 95%;
    line-height: 25px;
    margin: 0% auto;
    text-align: left;
    font-weight: 400;
}
}
/*===============================================
tablet
===============================================*/
@media (max-width: 1024px) {
}
@media (max-width: 768px) {
section {
  max-width: 300px;
  margin: 0 auto;
}
a.btn_02 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  padding: 0 6% 0 12%;
  color: #000;
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  font-family: "Playfair Display", serif;
}

a.btn_02:hover {
  background: #000;
  color: #fff;
}

a.btn_02:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: 50%;
  left: 6%;
  margin-top: -7px;
}
a.btn_02:hover:before {
  border-color: transparent transparent transparent #fff;
}
.product-layout {
    display: flex;
    gap: 48px;
    align-items: flex-start;
    max-width: 700px;
    margin: 40px auto;
}
.product-image img {
    width: 320px;
    height: auto;
}

.product-info h1 {
    color: #000000;
    font-size: 2.5em;
    margin-bottom: 18px;
    line-height: 1.2;
    padding-top: 60%;
}

.container10 {
    display: grid;
    grid-template-columns: 0.7fr;
    grid-template-rows: 0.2fr 0.5fr 0.2fr;
    gap: 20px 20px;
    grid-auto-flow: row;
    justify-content: center;
    justify-items: center;
    grid-template-areas:
        "photoimage10"
        "tittle10"
        "textimage10";
    margin-top: 10%;
}
}
/*===============================================
SMP
===============================================*/
@media (max-width: 430px) {
section {
  max-width: 310px;
  margin: 0 auto;
}

a.btn_02 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  padding: 0 6% 0 12%;
  color: #000;
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  font-family: "Playfair Display", serif;
}

a.btn_02:hover {
  background: #000;
  color: #fff;
}

a.btn_02:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: 50%;
  left: 6%;
  margin-top: -7px;
}

a.btn_02:hover:before {
  border-color: transparent transparent transparent #fff;
}

.box3 {
    padding-bottom: 20%;
    padding-top: 5%;
}

.text01 {
    font-size: 1.0em;
    line-height: 25px;
    width: 100%;
    margin: 0% auto;
    text-align: center;
    padding: 5%;
    font-weight: 400;
}

.product-layout {
    display: block;
    gap: 48px;
    align-items: flex-start;
    max-width: 900px;
    margin: 20px auto;
    padding: 0 5%;
}

.product-info h1 {
    color: #000000;
    font-size: 2.5em;
    margin-bottom: 18px;
    line-height: 1.2;
    padding-top: 10%;
}

.product-image img {
    width: 450px;
    height: auto;
}

.container10 {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 0.2fr 0.5fr 0.2fr;
    gap: 20px 20px;
    grid-auto-flow: row;
    justify-content: center;
    justify-items: center;
    grid-template-areas:
        "photoimage10"
        "tittle10"
        "textimage10";
    padding: 5%;
}
.photoimage10 {
    grid-area: photoimage10;
    width: 60%;
}
}