TEST 5のコーディングです。デザイン重視のサイト
cssのノーマライズの部分
@charset "utf-8";
/*---------------サイトの基本設定---------------*/
/*cssのリセット*/
こちらはノーマライズするときは要らない html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
font-size: 100%;
margin: 0;
padding: 0;
vertical-align: baseline;
border: 0;
outline: 0;
background: transparent;
}
/*html&bodyの設定*/
html {
font-size: 62.5%; /* 1rem = 10px */
overflow-y: scroll;
overflow-x: hidden;
}
body {
font-family: "YakuHanJPs_Noto", "Roboto", "Noto Sans JP", "游ゴシック Medium",
"游ゴシック体", "Yu Gothic Medium", "YuGothic", "ヒラギノ角ゴ ProN",
"Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "MS Pゴシック",
"MS PGothic", sans-serif;
margin: 0;
padding: 0;
line-height: 1.8;
width: 100%;
height: 100%;
}
/* Box Sizing の設定 */
*,
*::before,
*::after {
box-sizing: border-box;
}
/* - - h1.h2.h3.... - - */
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: bold;
color: #000;
overflow-wrap: break-word;
}
/* -- a -- */
a {
text-decoration: none;
outline: none;
color: #000;
}
a,
a > img {
-webkit-transition: 0.2s;
-moz-transition: 0.2s;
-ms-transition: 0.2s;
-o-transition: 0.2s;
transition: 0.2s;
}
/* -- img -- */
img {
display: block;
max-width: 100%;
height: auto;
}
/* -- ul -- */
ul {
list-style: none;
}
li {
list-style: none;
}
/* -- :hover -- */
a:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
cursor: pointer;
}
/* -- inputの設定 --*/
input[type="text"] {
font-size: 1rem;
}
input[type="submit"] {
padding: 8px;
border: #efefef;
color: #000;
background-color: aliceblue;
}
/*-- フォーム要素の設定 --*/
button,
input,
select,
textarea {
font-family: inherit;
font-size: 100%;
margin: 0;
}
button {
border: none;
background: none;
padding: 0;
cursor: pointer;
}
/*--テーブルのborder-collapse*/
table {
border-collapse: collapse;
border-spacing: 0;
}
cssのstyleの部分
@charset "utf-8";
/*---------------rootの基本設定---------------*/
:root {
/* カラーパレット */
--primary-color: #3498db;
--secondary-color: #2ecc71;
--bg-beige: #f3f0e8;
--text-color: #333;
--white--: #ffffff;
--gold--: #b49f68;
--black--: #000000;
--footer-bg: #222222;
--mv-border-color: #765a3f;
--hb-span-color: #dd742c;
--border--: #a5a5a5;
/* フォントサイズ */
--font-small: 12px; /* 12px */
--font-medium: 16px; /* 16px */
--font-large: 20px; /* 20px */
/* スペーシング */
--spacing-small: 8px;
--spacing-medium: 16px;
--spacing-large: 24px;
}
/*---------------設定終了---------------*/
/*---------------デバイス別表示・非表示---------------*/
/* PC専用(769px以上で表示) */
.pc-only {
display: block;
}
@media screen and (max-width: 768px) {
.pc-only {
display: none !important;
}
}
/* タブレット専用(768px〜1024px) */
.tablet-only {
display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
.tablet-only {
display: block;
}
}
/* スマホ専用(500px以下で表示) */
.sp-only {
display: none;
}
@media screen and (max-width: 500px) {
.sp-only {
display: block !important;
}
}
/* モバイル専用(768px以下で表示:タブレット+スマホ) */
.mobile-only {
display: none;
}
@media screen and (max-width: 768px) {
.mobile-only {
display: block !important;
}
}
/*---------------デバイス別表示・非表示の設定終了---------------*/
/*---------------全体のフォント設定---------------*/
body {
font-family: "Noto Serif JP", "Helvetica Neue", Arial, sans-serif;
}
/*---------------全体のフォント設定終了---------------*/
cssのheader.cssの部分
@charset "utf-8";
/*---------------bodyフェードイン設定---------------*/
body {
opacity: 0;
transition: opacity 1s ease;
}
body.body-fadein {
opacity: 1;
}
/*---------------headerの設定-------------------------------*/
.header_design {
position: absolute;
top: 0;
width: 100%;
height: 160px;
z-index: 999;
}
.header_inner_design {
width: 100%;
height: 100%;
margin-inline: auto;
padding-block: min(0.69vw, 10px);
padding-inline: min(1.39vw, 20px);
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.header_logo_design img {
width: min(11.11vw, 160px);
}
.header_nav_design {
display: flex;
align-items: center;
}
.header_nav_design ul {
list-style: none;
display: flex;
gap: min(1.39vw, 20px);
margin-top: 20px;
margin-right: min(1.39vw, 20px);
padding: 0;
}
.header_nav_design ul li {
position: relative;
display: inline-flex;
gap: 10px;
}
.header_nav_design ul li a {
position: relative;
display: inline-flex;
align-items: center;
gap: 10px;
text-decoration: none;
color: var(--text-color);
font-size: min(1.11vw, 16px);
font-weight: 500;
}
.header_nav_design ul li ::before {
content: "";
display: block;
width: 8px;
height: 8px;
background-color: var(--gold--);
border-radius: 50%;
}
.header_nav_design ul li a:hover {
color: var(--primary-color);
}
.header_btn_design .btn_basic {
background-color: var(--gold--);
color: var(--white--);
font-size: min(1.11vw, 16px);
padding-block: min(0.69vw, 10px);
padding-inline: min(1.39vw, 20px);
text-decoration: none;
border-radius: 5px;
font-weight: 600;
}
.header_btn_design .btn_basic:hover {
background-color: var(--black--);
}
/*---------------headerの設定終了-------------------------------*/
/*---------------header_hideの設定-------------------------------*/
.header_hide {
position: fixed;
top: 0;
width: 100%;
height: 160px;
z-index: 999;
opacity: 0;
pointer-events: none;
transform: translateY(-40px);
transition: opacity 0.6s, transform 0.6s;
}
.header_hide.show {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
.header_hide_inner_design {
width: 100%;
height: 100%;
margin-inline: auto;
padding-block: min(0.69vw, 10px);
padding-inline: min(1.39vw, 20px);
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.header_hide_logo_design img {
width: 100px;
display: none;
}
.header_hide_nav_design {
display: flex;
align-items: center;
padding-inline: 30px;
margin-top: 20px;
border-radius: 6.25rem;
box-shadow: 0 0 6px rgba(118, 90, 63, 0.2);
background-color: var(--white--);
}
.header_hide_nav_design ul {
list-style: none;
display: flex;
gap: min(2.08vw, 30px);
margin-block: 20px;
margin-right: min(1.39vw, 20px);
padding: 0;
}
.header_hide_nav_design ul li {
position: relative;
display: inline-flex;
gap: 10px;
}
.header_hide_nav_design ul li a {
position: relative;
display: inline-flex;
align-items: center;
gap: 10px;
text-decoration: none;
color: var(--text-color);
font-size: min(1.11vw, 16px);
font-weight: 500;
}
.header_hide_nav_design ul li ::before {
content: "";
display: block;
width: 8px;
height: 8px;
background-color: var(--gold--);
border-radius: 50%;
}
.header_hide_nav_design ul li a:hover {
color: var(--primary-color);
}
.header_btn_design .btn_basic {
background-color: var(--gold--);
color: var(--white--);
font-size: min(1.11vw, 16px);
padding-block: min(0.69vw, 10px);
padding-inline: min(1.39vw, 20px);
text-decoration: none;
border-radius: 5px;
font-weight: 600;
}
.header_btn_design .btn_basic:hover {
background-color: var(--black--);
}
/*---------------ハンバーガーメニューの設定-------------------------------*/
/*ハンバーガーナビの設定*/
/*========= ナビゲーションのためのCSS ===============*/
.g-nav {
/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
position: fixed;
z-index: 999;
/*ナビのスタート位置と形状*/
top: 0;
right: -120%;
width: 100%;
/*半分とか調整をする際は、g-nav-listも合わせる*/
height: 100vh;
/*ナビの高さ*/
background: #faf5e7;
/*動き*/
transition: all 0.6s;
}
.g-nav.panelactive {
right: 0;
}
.g-nav.panelactive .g-nav-list {
/*ナビの数が増えた場合縦スクロール*/
position: fixed;
z-index: 999;
width: 100%;
/*半分とか調整をする際は、g-navも合わせる*/
height: 100vh;
/*表示する高さ*/
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.g-nav ul {
/*ナビゲーション天地中央揃え*/
position: absolute;
z-index: 999;
left: 0;
width: 100%;
margin-top: 100px;
padding: 6rem 23px 15%;
}
.g-nav li {
position: relative;
font-size: 1rem;
font-weight: 700;
list-style: none;
text-align: left;
display: flex;
align-items: center;
justify-content: space-between;
padding-block: 1.3125rem 1.5rem;
width: 100%;
border-bottom: 5px dotted #fff;
}
.g-nav li li:not(:first-child) {
margin-top: 20px;
}
.g-nav li a {
color: #000;
text-decoration: none;
display: block;
text-transform: uppercase;
letter-spacing: 0.1em;
}
.g-nav li a::after {
content: "→";
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
font-size: 2rem;
color: #e6b422; /* お好みで色変更 */
/* contentの代わりに画像での矢印を表示
display: block;
width: 1rem;
height: 1rem;
background: url(../images/drawer_arrow.png) no-repeat center center / contain;
*/
}
body.no-scroll,
html.no-scroll {
overflow: hidden !important;
}
/*---------------navi内のボタンの設定---------------*/
/*ボタン設定*/
.g_nav_btn {
width: 80%;
margin: 50px auto;
}
.g_nav_btn_link {
display: flex;
justify-content: center;
align-items: center;
padding-top: min(2.08vw, 16px);
padding-bottom: min(2.08vw, 16px);
padding-left: min(1.3vw, 10px);
padding-right: min(1.3vw, 10px);
font-size: min(3.72vw, 16px);
font-style: normal;
font-weight: 700;
line-height: 1.5;
border-radius: min(0.78vw, 6px);
transition: all 0.3s ease;
background-color: var(--gold--);
color: var(--white--);
}
/*========= ボタンのためのCSS ===============*/
.openbtn {
position: relative;
z-index: 9999;
/*ボタンを最前面に*/
top: 0px; /*デザインによって位置調整*/
right: 10px;
cursor: pointer;
width: 70px;
height: 70px;
background-color: #fff;
border: 1px solid #d1d1b2;
border-radius: 50%;
box-shadow: 0 0 6px rgba(118, 90, 63, 0.2);
cursor: pointer;
}
.openbtn span {
display: inline-block;
transition: all 0.4s;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
height: 3px;
border-radius: 2px;
background-color: var(--hb-span-color);
width: 45%;
}
.openbtn span:nth-of-type(1) {
transform: translate(-50%, -10px);
}
.openbtn span:nth-of-type(2) {
transform: translate(-50%, 0);
}
.openbtn span:nth-of-type(2)::after {
content: "Menu"; /*3つ目の要素のafterにMenu表示を指定*/
position: absolute;
top: 5px;
left: 0px;
color: var(--text-color);
font-size: 1rem;
text-transform: uppercase;
}
.openbtn.active span:nth-of-type(1) {
top: 18px;
left: 25px;
transform: translateY(6px) rotate(-45deg);
width: 30%;
}
.openbtn.active span:nth-of-type(2) {
top: 30px;
left: 25px;
transform: translateY(-6px) rotate(45deg);
width: 30%;
}
.openbtn.active span:nth-of-type(2)::after {
content: "Close"; /*3つ目の要素のafterにClose表示を指定*/
transform: translateY(0) rotate(-45deg);
top: 10px;
left: 10px;
}cssのmv.cssの部分
/*---------------mv_designの設定-------------------------------*/
.mv_top_wrapper_design {
position: relative;
aspect-ratio: 1440 / 875; /* 画像の比率に合わせて調整 */
padding-block: 80px 90px;
}
.mv_top_wrapper_design::before {
content: "";
position: absolute;
top: 5.55%;
left: 0;
width: 100%;
aspect-ratio: 1440 / 800; /* 画像の比率に合わせて調整 */
background-image: url("../images/image_2.png"); /* デフォルトの画像 */
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
z-index: 1;
margin: auto;
transition: background-image 0.5s ease-in-out;
}
.mv_top_wrapper_design::after {
content: "";
position: absolute;
bottom: 1.57%;
left: 0;
width: 100%;
aspect-ratio: 1440 / 800; /* 画像の比率に合わせて調整 */
background-image: url("../images/image_1.png"); /* デフォルトの画像 */
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
z-index: 1;
margin: auto;
transition: background-image 0.5s ease-in-out;
}
/*-----------------mv_designの画像アニメ-------------------------------*/
/*---------------mv-topの基本設定---------------*/
.mv_top_wrapper_design_mv {
position: relative;
/*padding-top: min(2.08vw, 30px);
padding-inline: min(2.08vw, 30px);
padding-bottom: min(2.08vw, 30px);*/ /*paddingさせたい場合はコメントアウト解除*/
overflow-x: hidden; /* 横スクロールを防止 */
max-width: 100vw; /* 画面幅を超えないように */
}
/*---------------mv-topコンテンツの基本設定---------------*/
.mv_top_content_design {
position: relative;
width: 100%;
max-width: 100%;
overflow: hidden;
overflow-x: hidden; /* 横スクロールを明示的に防止 */
-webkit-mask-image: url("../images/mask.png");
-webkit-mask-size: 100% 100%;
mask-image: url("../images/mask.png");
mask-repeat: no-repeat;
mask-size: 100% 100%;
mask-position: center center;
}
.mv_top_content_design ul {
/*position: relative;*/ /*/*余白させたい場合はコメントアウト解除*/
width: 100%;
aspect-ratio: 2 / 1; /* 2:1の比率を維持 */
margin-inline: auto;
}
.mv_image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity 1s ease-in-out;
z-index: 0; /* グラデーションより下に配置 */
}
.mv_image.active {
opacity: 1;
}
/*---------------mv_designの設定終了-------------------------------*/
.mv-title {
position: absolute;
top: 10%;
left: 40%;
transform: translate(-50%);
text-align: left;
color: var(--text-color);
font-size: clamp(24px, 2.5vw, 72px);
font-weight: bold;
z-index: 4;
}
.mv-title-line-mask {
overflow: hidden;
display: block;
width: fit-content;
padding-right: 5px;
padding-bottom: 5px;
}
.mv-title-line {
display: inline-block;
opacity: 0;
transform: translateY(150%);
transition: opacity 0.6s, transform 1s ease-in-out;
line-height: 1.4;
background-color: #fff;
padding: 0.1875rem 0.875rem 0.3125rem;
border: 1px solid var(--mv-border-color);
box-shadow: 5px 5px 0 var(--mv-border-color);
}
.mv-title-char {
opacity: 0;
display: inline-block;
transform: translateY(20px);
transition: opacity 0.4s, transform 0.4s;
}
.mv-title-char.show {
opacity: 1;
transform: translateY(0);
}
.mv-title-line:nth-child(2) {
margin-top: 20px;
}
.mv-title-line.show {
opacity: 1;
transform: translateY(0);
}
cssの商品ラインアップの部分
/*---------------product_designの基本設定-------------------------------*/
.product_design_section {
position: relative;
width: 100%;
margin-bottom: 50px;
padding-block: 50px;
background-color: #faf5e7;
}
.product_design_section::before {
content: "";
display: block;
width: 100%;
height: 4rem;
position: absolute;
top: -20px;
left: 0;
background-image: url("../images/top_wave.png");
background-size: cover;
background-repeat: no-repeat;
z-index: 0;
}
.product_design_section::after {
content: "";
display: block;
width: 100%;
height: 4rem;
position: absolute;
bottom: -20px;
left: 0;
background-image: url("../images/bottom_wave.png");
background-size: cover;
background-position: bottom;
background-repeat: no-repeat;
z-index: 0;
}
.product_design_inner {
max-width: 1150px;
width: 100%;
margin-inline: auto;
padding-inline: min(2.08vw, 30px);
padding-bottom: 100px;
text-align: center;
}
.section_title_design {
font-size: min(4vw, 40px); /*1000pxでのvw算出*/
font-weight: bold;
color: var(--text-color);
text-align: center;
margin-bottom: min(1.39vw, 20px);
}
.section_title_design span {
display: block;
color: #dd742c;
font-size: 1.75rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0.1em;
margin-bottom: 0.25rem;
}
.tl_sub {
font-size: min(1.7999999999999998vw, 18px); /*1000pxでのvw算出*/
color: var(--text-color);
margin-top: min(3.33vw, 50px);
margin-bottom: min(3.33vw, 50px);
line-height: 1.8;
}
.product_design_items {
margin: 0 auto;
padding: 0px;
}
.product_design_item a {
display: flex;
align-items: flex-start;
gap: 30px;
text-align: left;
background-color: #fff;
padding: 30px;
}
.product_design_item:not(:first-child) {
margin-top: 50px;
}
.product_design_item img {
width: 100%;
max-width: 300px;
aspect-ratio: 400 / 300;
border-radius: 1.5rem;
overflow: hidden;
}
.product_design_item_title {
font-size: 2rem;
padding-bottom: 1.5rem;
}
.product_design_inner p {
font-size: min(1.7999999999999998vw, 18px); /*1000pxでのvw算出*/
color: var(--text-color);
line-height: 1.8;
}
.product_design_item_more {
margin-top: 20px;
text-align: right;
}
.c_btn {
display: inline-block;
font-size: min(1.5vw, 15px); /*1000pxでのvw算出*/
font-weight: 700;
padding: 0.5625rem 5rem 0.5625rem 0;
position: relative;
color: var(--text-color);
}
.c_btn::after {
content: "";
position: absolute;
right: 0;
top: 48%;
transform: translateY(-48%);
width: 40px; /*円の大きさを調整*/
height: 40px; /*円の大きさを調整*/
border-radius: 50%;
background-color: var(--gold--);
display: flex;
align-items: center;
justify-content: center;
transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.c_btn::before {
content: "";
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: 8px solid transparent; /*三角形の大きさを調整*/
border-bottom: 8px solid transparent; /*三角形の大きさを調整*/
border-left: 12px solid var(--white--); /*三角形の大きさを調整*/
z-index: 1;
pointer-events: none;
transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/*矢印を画像で作る時はコチラ*/
/*.c_btn::after {
content: "";
position: absolute;
right: 0;
top: 48%;
transform: translateY(-48%);
width: 40px; /* 画像の大きさ */
/*height: 40px; /* 画像の大きさ */
/*border-radius: 50%;
background-image: url("../images/arrow.png"); /* 矢印画像のパス */
/*background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%; /* 矢印画像の大きさを調整 */
/*display: flex;
align-items: center;
justify-content: center;
transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}*/
/*コンテンツで矢印を作る時はコチラ*/
/*.c_btn::after {
content: "→";
position: absolute;
right: 0;
top: 48%;
transform: translateY(-48%);
font-size: 2.4rem;
font-weight: 700;
color: var(--white--);
width: 40px;
height: 40px;
border-radius: 50%;
background-color: var(--gold--);
display: flex;
align-items: flex-end;
justify-content: center;
transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}*/
.c_btn:hover::after {
right: -5px;
}
.c_btn:hover::before {
right: 7px;
}
@media (hover: hover) {
.c_btn:hover::after {
right: -5px;
}
.c_btn:hover::before {
right: 7px;
}
}
.btn_more {
margin-top: min(3.33vw, 50px);
text-align: center;
position: relative;
}
.btn_more a {
display: inline-block;
font-size: min(2vw, 20px); /*1000pxでのvw算出*/
font-weight: 700;
margin: 0 auto;
position: relative;
}
/*矢印を画像で作る時はコチラ*/
.btn_more a::after {
content: "";
position: absolute;
right: -55px;
top: 48%;
transform: translateY(-48%);
width: 40px; /* 画像の大きさ */
height: 40px; /* 画像の大きさ */
border-radius: 50%;
background-image: url("../images/arrow.png"); /* 矢印画像のパス */
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%; /* 矢印画像の大きさを調整 */
display: flex;
align-items: center;
justify-content: center;
transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn_more a:hover::after {
right: -60px;
}
@media (hover: hover) {
.btn_more a:hover::after {
right: -60px;
}
}
.product_design_image_group {
width: 100%;
max-width: 1300px; /*画像全体の最大幅*/
height: 100%;
position: absolute;
inset: 0;
margin: auto;
pointer-events: none;
}
.product_design_image_1 {
position: absolute;
width: min(25vw, 360px);
top: -5%;
left: 0%;
z-index: 1;
}
.product_design_image_2 {
position: absolute;
width: min(14.93vw, 215px);
top: 0%;
right: 0%;
z-index: 1;
}
.product_design_image_3 {
position: absolute;
width: min(25vw, 360px);
bottom: -2%;
left: 0%;
z-index: 1;
}
.product_design_image_4 {
position: absolute;
width: min(25vw, 360px);
bottom: -2%;
right: 0%;
z-index: 1;
}
/*---------------product_designの基本設定終了-------------------------------*/cssのオススメ商品の部分
/*---------------recommend_productの基本設定-------------------------------*/
.recomend_product_section {
width: 100%;
}
.recomend_product_inner {
max-width: 1150px;
width: 100%;
margin-inline: auto;
padding-inline: min(2.08vw, 30px);
padding-top: 50px;
padding-bottom: 100px;
text-align: center;
}
.section_title_recomend {
font-size: min(4vw, 40px); /*1000pxでのvw算出*/
font-weight: bold;
color: var(--text-color);
text-align: center;
margin-bottom: min(1.39vw, 20px);
}
.section_title_recomend span {
display: block;
color: #dd742c;
font-size: 1.75rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0.1em;
margin-bottom: 0.25rem;
}
.tl_sub_recomend {
font-size: min(1.7999999999999998vw, 18px); /*1000pxでのvw算出*/
color: var(--text-color);
margin-top: min(3.33vw, 50px);
margin-bottom: min(3.33vw, 50px);
line-height: 1.8;
}
.recomend_product_wrapper {
width: 100%;
}
.product_recomend_items {
display: flex;
align-items: stretch;
gap: 50px;
height: 100%;
transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
will-change: transform;
}
.product_recomend_item {
width: 100%;
min-width: 350px;
text-align: center;
padding: 0px;
border-radius: 1.5rem;
box-shadow: 0 0 20px rgba(118, 90, 63, 0.1);
}
.product_recomend_item img {
width: 100%;
aspect-ratio: 400 / 300;
border-radius: 1.5rem;
border-bottom-left-radius: 0rem;
border-bottom-right-radius: 0rem;
overflow: hidden;
margin: 0 auto;
}
.product_recomend_item_title_wrapper {
padding: 10px;
}
.product_recomend_item_title {
font-size: min(1.3888888888888888vw, 20px);
padding-block: 1.5rem;
}
.product_recomend_item_text {
font-size: min(1.25vw, 18px);
color: var(--text-color);
line-height: 1.8;
text-align: left;
}
.product_recomend_item_more {
margin-top: 20px;
text-align: right;
}
/* カルーセルボタン */
/* カルーセルコントロール横並び用 */
.carousel-controls {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 50px;
}
.carousel-prev,
.carousel-next {
position: static;
transform: none;
background: #fff;
border: 1px solid #ccc;
border-radius: 50%;
width: 40px;
height: 40px;
font-size: 1.5rem;
color: #333;
cursor: pointer;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
display: flex;
align-items: center;
justify-content: center;
opacity: 0.8;
transition: opacity 0.2s;
}
.carousel-prev:hover,
.carousel-next:hover {
opacity: 1;
}cssのfooterの部分
/*---------------footerの基本設定-------------------------------*/
.p_footer {
background-image: url("../images/footer_1.png");
background-repeat: no-repeat;
background-size: cover;
background-position: top center;
padding-top: min(2.083333333333333vw, 30px); /*高さ調整*/
}
.p_footer_inner {
width: 100%;
margin-inline: auto;
text-align: center;
position: relative;
}
.p_footer_inner::before {
content: "";
display: block;
position: absolute;
left: 5.8%;
bottom: 0.69%;
width: min(20vw, 288px); /*288px(1440pxで)*/
padding-top: 11.11111%; /*高さを調整*/
background-image: url("../images/ft_neta2.png");
background-repeat: no-repeat;
background-size: contain;
background-position: center;
z-index: 10;
}
.p_footer_inner::after {
content: "";
display: block;
position: absolute;
right: 5.8%;
bottom: 0.69%;
width: min(20vw, 288px); /*288px(1440pxで)*/
padding-top: 11.11111%; /*高さを調整*/
background-image: url("../images/ft_neta1.png");
background-repeat: no-repeat;
background-size: contain;
background-position: center;
z-index: 10;
}
.ft_logo {
width: min(13.88vw, 200px);
margin-top: min(2.08vw, 30px);
margin-inline: auto;
}
.ft_logo a img {
width: 100%;
}
.ft_nav {
width: 100%;
}
.ft_nav ul {
display: flex;
justify-content: center;
align-items: center;
gap: 20px;
margin-top: 20px;
}
.ft_nav li {
font-size: 15px;
list-style: none;
}
.ft_copyright {
display: block;
width: 100%;
background-image: url("../images/footer_2.png");
background-repeat: no-repeat;
background-size: cover;
background-position: top center;
padding-block: 40px;
margin-top: 3.125rem;
color: #fff;
font-size: 15px;
font-weight: 400;
text-align: center;
position: relative;
}cssのレスポンシブルの768px以下の部分
/*---------------768px以下のレスポンシブル設定-------------------------------*/
@media screen and (max-width: 768px) {
.header_logo_design img {
width: min(20.83vw, 160px);
}
.mv_top_wrapper_design_mv {
margin-top: 0px; /* ヘッダー分の余白 */
}
.mv_top_wrapper_design::before {
top: 5.55%;
left: 0;
width: 100%;
aspect-ratio: 0.72; /* 画像の比率に合わせて調整 */
background-image: url("../images/image_1_sp.png"); /* デフォルトの画像 */
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
z-index: 1;
margin: auto;
transition: background-image 0.5s ease-in-out;
}
.mv_top_wrapper_design::after {
content: "";
position: absolute;
bottom: 1.57%;
left: 0;
width: 100%;
aspect-ratio: 0.72; /* 画像の比率に合わせて調整 */
background-image: url("../images/image_2_sp.png"); /* デフォルトの画像 */
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
z-index: 1;
margin: auto;
transition: background-image 0.5s ease-in-out;
}
.mv_top_content_design {
-webkit-mask-image: url("../images/mask_sp.png");
-webkit-mask-size: 100% 100%;
mask-image: url("../images/mask_sp.png");
mask-repeat: no-repeat;
mask-size: 100% 100%;
mask-position: center center;
}
.mv_top_content_design ul {
aspect-ratio: 0.72; /* 画像の比率に合わせて調整 */
}
.mv-title {
position: absolute;
top: 60%;
left: 40%;
transform: translate(-50%);
text-align: left;
color: var(--text-color);
font-size: min(4.44vw, 25px);
font-weight: bold;
z-index: 4;
}
.product_design_section::before {
top: -10px;
}
.product_design_section::after {
bottom: -10px;
}
.c_btn {
font-size: min(1.953125vw, 15px);
}
.c_btn::after {
right: 0;
top: 48%;
transform: translateY(-48%);
width: 30px; /*円の大きさを調整*/
height: 30px; /*円の大きさを調整*/
}
.c_btn::before {
right: 9px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: 6px solid transparent; /*三角形の大きさを調整*/
border-bottom: 6px solid transparent; /*三角形の大きさを調整*/
border-left: 9px solid var(--white--); /*三角形の大きさを調整*/
}
.btn_more {
margin-top: min(6.510416666666667vw, 50px);
}
/*product_design_image_groupの調整*/
.product_design_item {
gap: 20px;
}
.product_design_item:not(:first-child) {
margin-top: 20px;
}
.tl_sub {
font-size: min(1.953125vw, 15px);
}
.product_design_inner p {
font-size: min(1.953125vw, 15px);
}
.product_design_item_title {
font-size: min(2.34vw, 18px);
padding-bottom: 1.5rem;
}
.btn_more a {
font-size: min(2.34375vw, 18px);
}
/*矢印を画像で作る時はコチラ*/
.btn_more a::after {
right: -40px;
top: 48%;
transform: translateY(-48%);
width: 30px; /* 画像の大きさ */
height: 30px; /* 画像の大きさ */
}
.product_design_image_group {
width: 100%;
height: 100%;
}
.product_design_image_1 {
position: absolute;
width: min(16.927083333333336vw, 130px);
top: -3%;
left: 5%;
z-index: 1;
margin: 0;
}
.product_design_image_2 {
position: absolute;
width: min(16.927083333333336vw, 130px);
top: 0%;
right: 0%;
z-index: 1;
margin: 0;
}
.product_design_image_3 {
position: absolute;
width: min(36.25vw, 280px);
bottom: 0%;
left: 0%;
z-index: 1;
margin: 0;
}
.product_design_image_4 {
position: absolute;
width: min(36.25vw, 280px);
bottom: 0%;
right: 0%;
z-index: 1;
margin: 0;
}
/*---------------recommend_productの調整-------------------------------*/
.recomend_product_wrapper {
overflow-x: hidden;
}
.recomend_product_inner {
padding-inline: min(3.90625vw, 30px);
}
.section_title_recomend {
font-size: min(3.90625 vw, 30px);
margin-bottom: min(2.604166666666667vw, 20px);
}
.section_title_recomend span {
font-size: 1.75rem;
}
.tl_sub_recomend {
font-size: min(2.34375vw, 18px);
margin-top: min(6.510416666666667vw, 50px);
margin-bottom: min(6.510416666666667vw, 50px);
}
.product_recomend_item_title {
font-size: min(2.604166666666667vw, 20px);
padding-block: 1.5rem;
}
.product_recomend_item_text {
font-size: min(2.083333333333333vw, 16px);
}
.product_recomend_item_more {
margin-top: 20px;
text-align: right;
}
/*---------------footerの設定-------------------------------*/
.p_footer {
background-image: url("../images/ft_sp_1.png");
background-repeat: no-repeat;
background-size: cover;
background-position: top center;
padding-top: min(1.3020833333333335vw, 10px); /*高さ調整*/
}
.p_footer_inner::before {
content: "";
display: block;
position: absolute;
left: 2%;
bottom: 15.69%;
width: min(28.515625vw, 219px); /*219px(768pxで)*/
padding-top: 9%; /*高さを調整*/
background-image: url("../images/ft_sp_neta2.png");
background-repeat: no-repeat;
background-size: contain;
background-position: center;
z-index: 10;
}
.p_footer_inner::after {
content: "";
display: block;
position: absolute;
right: 2%;
bottom: 15.69%;
width: min(28.515625vw, 219px); /*219px(768pxで)*/
padding-top: 11.71875%; /*高さを調整*/
background-image: url("../images/ft_sp_neta1.png");
background-repeat: no-repeat;
background-size: contain;
background-position: center;
z-index: 10;
}
.ft_logo {
width: min(19.53125vw, 150px);
margin-top: min(2.08vw, 30px);
margin-inline: auto;
}
.ft_logo a img {
width: 100%;
}
.ft_nav {
width: 100%;
}
.ft_nav ul {
display: flex;
justify-content: center;
align-items: center;
gap: 20px;
}
.ft_nav li {
font-size: 15px;
list-style: none;
}
.ft_copyright {
display: block;
width: 100%;
background-image: url("../images/ft_sp_2.png");
background-repeat: no-repeat;
background-size: cover;
background-position: top center;
padding-top: 20px; /*高さ調整*/
color: #fff;
font-size: 15px;
font-weight: 400;
text-align: center;
position: relative;
}
}
cssのレスポンシブルの450px以下の部分
/*---------------450px以下のレスポンシブル設定-------------------------------*/
@media (max-width: 450px) {
.product_design_section::before {
top: -5px;
}
.product_design_section::after {
bottom: -5px;
}
.product_design_image_1 {
top: 0%;
}
/*product_design_image_groupの調整*/
.product_design_inner p {
font-size: min(2.66vw, 12px);
}
.product_design_item_title {
font-size: min(3.33vw, 15px);
padding-bottom: 1.5rem;
}
.c_btn {
font-size: min(2.666666666666667vw, 15px); /*450pxで12pxのvw算出*/
}
.c_btn::after {
right: 0;
top: 48%;
transform: translateY(-48%);
width: 30px; /*円の大きさを調整*/
height: 30px; /*円の大きさを調整*/
}
.c_btn::before {
right: 9px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: 6px solid transparent; /*三角形の大きさを調整*/
border-bottom: 6px solid transparent; /*三角形の大きさを調整*/
border-left: 9px solid var(--white--); /*三角形の大きさを調整*/
}
.product_design_item img {
width: 100%;
width: min(133.33333333333331vw, 600px);
aspect-ratio: 400 / 300;
}
.btn_more a {
font-size: min(3.3333333333333335vw, 15px);
}
.product_design_image_1 {
position: absolute;
width: min(22.22222222222222vw, 100px);
top: -3%;
left: 5%;
z-index: 1;
margin: 0;
}
.product_design_image_2 {
position: absolute;
width: min(22.22222222222222vw, 100px);
top: -1%;
right: 0%;
z-index: 1;
margin: 0;
}
.product_design_image_3 {
position: absolute;
width: min(44.44444444444444vw, 200px);
bottom: 0%;
left: 0%;
z-index: 1;
margin: 0;
}
.product_design_image_4 {
position: absolute;
width: min(44.44444444444444vw, 200px);
bottom: 0%;
right: 0%;
z-index: 1;
margin: 0;
}
/*---------------recommend_productの基本設定-------------------------------*/
.product_recomend_item {
width: 100%;
min-width: 280px;
}
.product_recomend_item img {
width: 100%;
aspect-ratio: 400 / 300;
}
.recomend_product_inner {
padding-inline: min(6.666666666666667vw, 30px);
}
.section_title_recomend {
font-size: min(4.444444444444445vw, 20px);
margin-bottom: min(4.444444444444445vw, 20px);
}
.section_title_recomend span {
font-size: 1.75rem;
}
.tl_sub_recomend {
font-size: min(3.3333333333333335vw, 15px);
margin-top: min(11.11111111111111vw, 50px);
margin-bottom: min(11.11111111111111vw, 50px);
}
.product_recomend_item_title {
font-size: min(3.5555555555555554vw, 16px);
padding-block: 1.5rem;
}
.product_recomend_item_text {
font-size: min(3.3333333333333335vw, 15px);
}
.product_recomend_item_more {
margin-top: 20px;
text-align: right;
}
/*---------------footerの設定-------------------------------*/
.p_footer {
background-image: url("../images/ft_sp_1.png");
background-repeat: no-repeat;
background-size: cover;
background-position: top center;
padding-top: min(2.2222222222222223vw, 10px); /*高さ調整*/
}
.p_footer_inner::before {
content: "";
display: block;
position: absolute;
left: 2%;
bottom: 5.69%;
width: min(48.66666666666667vw, 219px); /*219px(768pxで)*/
padding-top: 15%; /*高さを調整*/
background-image: url("../images/ft_sp_neta2.png");
background-repeat: no-repeat;
background-size: contain;
background-position: center;
z-index: 10;
}
.p_footer_inner::after {
content: "";
display: block;
position: absolute;
right: 2%;
bottom: 6.69%;
width: min(48.66666666666667vw, 219px); /*219px(768pxで)*/
padding-top: 15%; /*高さを調整*/
background-image: url("../images/ft_sp_neta1.png");
background-repeat: no-repeat;
background-size: contain;
background-position: center;
z-index: 10;
}
.ft_logo {
width: min(33.33333333333333vw, 150px);
margin-top: min(2.08vw, 30px);
margin-inline: auto;
}
.ft_logo a img {
width: 100%;
}
.ft_nav {
width: 100%;
padding-bottom: 80px;
}
.ft_nav ul {
display: flex;
justify-content: flex-start;
flex-direction: column;
flex-wrap: wrap;
align-items: flex-start;
gap: 1.5rem 6.25rem;
max-width: 16.9375rem;
max-height: 6.9375rem;
margin-inline: auto;
}
.ft_nav li {
font-size: min(3.3333333333333335vw, 15px);
list-style: none;
}
.ft_copyright {
display: block;
width: 100%;
background-image: url("../images/ft_sp_2.png");
background-repeat: no-repeat;
background-size: cover;
background-position: top center;
padding-block: 0px;
padding-top: 10px; /*高さ調整*/
color: #fff;
font-size: min(2.666666666666667vw, 12px);
font-weight: 400;
text-align: center;
position: relative;
}
/*---------------footerの設定終了-------------------------------*/
}cssのレスポンシブルの250px以下の部分
@media (max-width: 250px) {
.product_recomend_item {
min-width: 100px;
}
.product_recomend_item img {
max-width: 100px;
}
}cssのアイテムのふわっとアニメーションの設定の部分
/*=============== アイテムのふわっとアニメーションの設定 ===============*/
/* 共通 */
.fadein-effect {
opacity: 0;
transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.fadein-effect.is-visible {
opacity: 1;
transform: none;
}
/* 下から */
.fadein-up {
transform: translateY(40px);
}
.fadein-up.is-visible {
transform: translateY(0);
}
/* 上から */
.fadein-down {
transform: translateY(-40px);
}
.fadein-down.is-visible {
transform: translateY(0);
}
/* 左から */
.fadein-right {
transform: translateX(-40px);
}
.fadein-right.is-visible {
transform: translateX(0);
}
/* 右から */
.fadein-left {
transform: translateX(40px);
}
.fadein-left.is-visible {
transform: translateX(0);
}
/*=============== アイテムのふわっとアニメーションの設定の終了 ===============*/サイトは
こちらから
