@charset "utf-8";
/* リセット */
li {
list-style: none;
}
a {
color: #000;
text-decoration: none;
}
/* header --------------------------------- */
.l-header {
display: block;
z-index: 999;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 72px;
background: #fff;
}
.p-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
height: inherit; /* 親要素から継承する */
padding: 13px 20px;
}
/* 会社ロゴ設定 */
.p-header__title {
width: 100%;
max-width: 120px;
height: 48px;
background: lightgray;
}
.p-header__title a {
display: block;
width: 100%;
height: auto;
}
.p-header__title a img {
height: 100%;
}
/* /会社ロゴ設定 */
/* /header --------------------------------- */
/* ハンバーガーボタン -----------------*/
/* 外側の要素 */
.p-header__hamburger {
z-index: 100;
position: absolute;
top: 0;
right: 0;
width: 95px;
height: 100%;
}
@media screen and (min-width: 768px) {
.p-header__hamburger {
display: none;
}
}
/* 内側の要素 */
.c-hamburger {
position: relative;
width: inherit; /* 親要素から継承する */
height: inherit; /* 親要素から継承する */
margin: 0;
border: 1px solid lightblue;
background: lightblue;
cursor: pointer;
}
.c-hamburger span {
display: block;
position: relative;
left: 50%;
width: 30px; /* 線の横幅 */
height: 2px; /* 線の高さ */
transform: translateX(-50%);
background: #fff; /* 線の色 */
transition: all .4s;
}
/* 三本線それぞれtopプロパティで位置指定する */
.c-hamburger span:nth-of-type(1) {
top: -4px;
}
.c-hamburger span:nth-of-type(2) {
top: 1px;
}
.c-hamburger span:nth-of-type(3) {
top: 6px;
}
.c-hamburger .c-hamburger__text {
display: block;
top: 12px;
background: transparent; /* 要素を透明にする */
color: #fff;
font-size: 10px;
font-weight: 400;
line-height: 1;
text-transform: uppercase; /* 文字を大文字に変換する */
}
/* ハンバーガーボタン ✕ 設定 */
/* is-activeクラスが付いたら✕にする */
.c-hamburger.is-active span:nth-of-type(1) {
top: 0;
transform: translateX(-50%) rotate(225deg);
}
.c-hamburger.is-active span:nth-of-type(2) {
opacity: 0;
}
.c-hamburger.is-active span:nth-of-type(3) {
top: -4px;
transform: translateX(-50%) rotate(-225deg);
}
/* メニュー PC SP共通 */
/* メニュー sp */
.p-header__nav {
display: flex;
z-index: 10;
position: absolute;
top: 0;
right: -100%;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100vh;
background: transparent; /* 要素を透明にする */
font-weight: 700;
opacity: 0;
transition: .6s;
}
/* メニュー pc */
@media screen and (min-width: 768px) {
.p-header__nav {
position: static;
height: 100%;
opacity: initial; /* 透明度を初期値にする */
align-items: flex-end;
}
}
/* ナビにis-activeクラスが付与されたら、
rightプロパティを0にして画面に表示される */
.p-header__nav.is-active {
position: fixed;
top: 0;
right: 0;
background: lightblue;
opacity: 1;
transition: .6s;
}
.p-nav {
padding-top: 72px;
padding-bottom: 72px;
}
@media screen and (min-width: 768px) {
.p-nav {
padding-top: 16px;
padding-bottom: 16px;
}
}
.p-nav__list {
display: block;
width: 100%;
padding-right: 20px;
padding-left: 20px;
background: lightblue;
}
@media screen and (min-width: 768px) {
.p-nav__list {
display: flex;
background: #fff;
padding-right: 0;
}
}
.p-nav__item {
position: relative;
width: 100%;
}
.p-nav__link {
display: block;
width: 100%;
height: 100%;
padding: 20px;
text-align: center;
}
/* メイン部分 --------------------------------- */
main {
padding-top: 72px;
background: lightcoral;
height: 1200px;
}
/* フッター部分 ------------------------------- */
footer {
background: lightcyan;
height: 200px;
}