@charset "UTF-8"; /* CSS Document */ //ブレイクポイントを指定------ここから $xl: 1399px; $lg: 1199px; $md: 991px; $sm: 767px; $xs: 575px; @mixin xl { @media screen and (max-width: ($xl)) { @content; } } @mixin lg { @media screen and (max-width: ($lg)) { @content; } } @mixin md { @media screen and (max-width: ($md)) { @content; } } @mixin sm { @media screen and (max-width: ($sm)) { @content; } } @mixin xs { @media screen and (max-width: ($xs)) { @content; } } //ブレイクポイントを指定------ここまで //カラー $green: #22923b; $yellow: #fff100; //共通 article { overflow: hidden; margin-top: 65px; @include sm { margin-top: 58px; } } body { letter-spacing: 0.1rem; } .anchor { padding-top: 65px; margin-top: -65px; } .inner { width: 85%; margin: auto; @include md { width: 100%; } } .line--ver { &::after { content: ''; width: 1px; margin: auto; display: flex; height: 60px; border-right: solid 1px $green; margin-bottom: 2.5rem; @include xs { height: 45px; } } } h3 { text-align: center; color: $green; font-weight: normal; margin-bottom: 7.5rem; font-size: 16px; font-size: 1.6rem; @include md { margin-bottom: 6rem; } @include xs { margin-bottom: 4rem; } span { font-family: "Josefin Sans", sans-serif; // font-optical-sizing: auto; font-style: normal; font-size: 45px; font-size: 4.5rem; font-weight: 700; display: block; color: #1a1a1a; letter-spacing: 0.5rem; @include xs { font-size: 35px; font-size: 3.5rem; } } } /* ボタン共通設定 */ .link-button { font-size: 16px; font-size: 1.6rem; width: 300px; z-index: 5; // background-color: #fff; /*影の基点とするためrelativeを指定*/ position: relative; /*ボタンの形状*/ text-decoration: none; display: inline-block; // background: transparent; outline: none; /*アニメーションの指定*/ transition: all 0.2s ease; /*hoverをした後のボタンの形状*/ @include md { width: 265px; } &:hover { border-color:transparent; } /*ボタンの中のテキスト*/ span { position: relative; z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/ /*テキストの形状*/ display: block; padding: 1.5rem 0 1.5rem 2em; background: #fff; color: $green; /*アニメーションの指定*/ transition: all 0.3s ease; &::after { content: ""; background-image: url("../img/arrow-green.svg"); background-repeat: no-repeat; height: 24px; width: 100%; display: inline-block; position: absolute; top: 29%; right: -90%; z-index: 5; transition: 0.3; } &:hover { &::after { content: ""; background-image: url("../img/arrow-white.svg"); background-repeat: no-repeat; height: 24px; width: 100%; display: inline-block; position: absolute; top: 29%; right: -90%; z-index: 5; } } } } .entry { span { background-color: $yellow; } } /*== 右下に押し込まれる(立体が平面に) */ /*影の設定*/ .pushright { box-shadow: 7px 7px 7px 0px rgba(0, 0, 0, 0.09); // &::before { // content: ""; // /*絶対配置で影の位置を決める*/ // position: absolute; // z-index: -1; // top: 4px; // left: 4px; // /*影の形状*/ // width: 100%; // height: 100%; // background-color: #1a1a1a; // } /*hoverの際にX・Y軸に4pxずらす*/ &:hover span { box-shadow: none; background-color: #1a1a1a; color: #fff; transform: translate(4px, 4px); } } //下層ページ #ul-header { margin-bottom: 5rem; .header-bg { background-image: url("../01company/img/header-company.jpg"); width: 100%; height: 225px; background-position: center; background-size: cover; text-align: center; display: flex; align-items: center; justify-content: center; @include sm { } @include xs { height: 115px; } h2 { font-family: "Josefin Sans", sans-serif; color: #fff; display: inline-block; font-size: 45px; font-size: 4.5rem; font-weight: 700; letter-spacing: 0.4rem; @include xs { font-size: 40px; font-size: 4rem; padding: 1.5rem 6rem; } span { display: block; font-size: 16px; font-size: 1.6rem; margin-top: 0.5rem; font-weight: 300; letter-spacing: 0.25rem; @include xs { font-size: 1.3rem; } } } } } //header------------------------------ header { #global-nav { display: block; position: fixed; max-width: 100%; background-color: #fff; width: 100%; height: 65px; z-index: 999; top: 0; .u-shadow { box-shadow: 0px 0px 20px 0px rgba(35, 24, 21, 0.1); } .logo { h1 { margin-bottom: 0; a { display: inline-block; height: 65px; img { width: 100%; height: 100%; } } } } .header-inner ul { display: flex; align-items: center; justify-content: flex-end; height: 65px; text-align: right; margin: 0 auto; li { display: flex; align-items: center; justify-content: flex-end; padding: 0 1.5rem; font-size: 15px; font-size: 1.5rem; font-weight: bold; text-align: center; line-height: 1.2; span { font-family: "Josefin Sans", sans-serif; font-size: 24px; font-size: 2.4rem; font-weight: 700; } @include lg { } @include md { padding: 0 0.8rem; font-size: 15px; font-size: 1.5rem; } a { color: #1a1a1a; display: block; padding: 0 1rem; position: relative; &::after{ position: absolute; bottom: -10px; left: 0; content: ""; width: 100%; height: 1.5px; background: $green; transform: scale(0, 1); transform-origin: center top; transition: transform 0.3s; } &:hover::after{ transform: scale(1, 1); } @include lg { padding: 0 0.5rem; } &:hover { } } } .list-bg { height: 100%; transition: 0.3s; padding: 0; @include md { margin-left: 0.5rem; } a { background-color: $yellow; color: $green; height: 65px; display: flex; align-items: center; flex-direction: row; justify-content: center; padding: 0px 3rem; transition: 0.3s; &:hover { filter: brightness(1.15); /* 明るくする */ } &::after{ display: none; } p { font-size: 13px; font-size: 1.3rem; margin-bottom: 0; line-height: 1; margin-top: 0.5rem; } img { height: 24px; padding-left: 1.5rem; } } } } } ///*------ スマホ用ヘッダー ------*/ .header { // position: sticky!important; /* headerを追従にする */ top: 0; left: 0; right: 0; width: 100%; background-color: #fff; position: fixed; z-index: 2000; transition: 0.3s; .header__inner { display: flex; justify-content: space-between; align-items: center; padding-right: 2rem; box-shadow: 0px 0px 20px 0px rgba(35, 24, 21, 0.1); @include sm { height: 58px; } } .logo { display: flex; a{ img{ width: 200px; &:hover{ opacity: 0.5; } } } } } .drawer__button { position: relative; width: 4rem; height: 4rem; background-color: transparent; border: none; cursor: pointer; z-index: 999; & > span{ display: block; position: absolute; top: 50%; left: 50%; width: 4rem; height: 2px; background-color: $green; transform: translateX(-50%); } & > span:first-child{ transform: translate(-50%, calc(-50% - 1rem)); transition: transform 0.3s ease; } & > span:nth-child(2){ transform: translate(-50%, -50%); transition: opacity 0.3s ease; } & > span:last-child{ transform: translate(-50%, calc(-50% + 1rem)); transition: transform 0.3s ease; } } .drawer__button.active{ & > span:first-child{ transform: translate(-50%, -50%) rotate(-45deg); } & > span:nth-child(2){ opacity: 0; } & > span:last-child{ transform: translate(-50%, -50%) rotate(45deg); } } .drawer__nav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0, 0, 0, 0.5); transition: opacity 0.3s ease; opacity: 0; visibility: hidden; .drawer__nav__inner { position: relative; width: 60%; height: 100%; background-color: #fff; padding: 0; margin: 0 0 0 auto; overflow: scroll; transform: translateX(100%); transition: transform 0.3s ease; .drawer__nav__menu { list-style: none; padding-left: 0; padding-top: 7.5rem; .drawer__nav__link { font-size: 16px; font-size: 1.6rem; display: block; color: gray; text-decoration: none; padding: 2rem; border-bottom: solid 1px lightgray; transition: 0.3s; &:hover{ background-color: #f0f0f0; } } li:last-child{ border-bottom: none; background-color: $yellow; transition: 0.3s; a { color: $green; } &:hover{ background-color: #fff; color: $green; } } } } } .drawer__nav.active { opacity: 1; visibility: visible; .drawer__nav__inner { transform: translateX(0); } } body.active { height: 100%; overflow: hidden; } } //footer------------------------------ footer { overflow: hidden; #contact { background-image: url("../img/contact.jpg"); background-repeat: no-repeat; background-position: center; height: 100%; background-size: cover; padding: 9rem 0; @include md { padding: 6rem 0; } @include xs { padding: 4rem 0; } .inner { @include sm { width: 100%; } } h3 { color: #fff; span { color: #fff; } @include xs { margin-bottom: 3rem; } } .contact-box { display: flex; justify-content: center; @include xs { display: flex; /* justify-content: center; */ flex-direction: column; align-items: center; } .link-button { width: 360px; margin: 0 3rem; @include sm { margin: 0 1.5rem; } @include xs { width: 80%; margin: 0 3rem; margin-bottom: 2rem; } } } } #footer-under { .g-map { iframe { @include lg { height: 280px; } @include md { height: 230px; } @include xs { height: 180px; } } } .company-info { display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 5rem; @include sm { flex-direction: column; } @include xs { padding: 3rem 0; text-align: center; } img { width: 225px; height: 100%; @include sm { width: 200px; } @include xs { width: 150px; } } dl { margin-left: 4rem; margin-bottom: 0; @include sm { margin-top: 3rem; } @include xs { margin-top: 2rem; margin-left: 0rem; } dt { font-size: 23px; font-size: 2.3rem; margin-bottom: 0.5rem; font-weight: 500; } dd { font-size: 15px; font-size: 1.5rem; font-weight: 500; margin-bottom: 0; line-height: 2.5rem; @include xs { font-size: 14px; font-size: 1.4rem; } a { color: #000000; text-decoration: none; } } } } .footer-link { padding-bottom: 1rem; @include xs { } ul { display: flex; align-content: center; flex-wrap: wrap; justify-content: center; @include xs { margin-bottom: 0rem; } li { font-size: 15px; font-size: 1.5rem; font-weight: 500; margin-right: 4rem; @include xs { font-size: 14px; font-size: 1.4rem; margin: 0 0.5rem; } a { color: #1a1a1a; transition: 0.2s; &:hover { color: $green; } } } } } } #copyright { background-color: #333333; text-align: center; padding: 1rem; font-size: 14px; font-size: 1.4rem; p { margin: 0; color: #fff; } } } //トップに戻る #page-top { position: fixed; bottom: 2rem; right: 3rem; z-index: 5; @include sm { right: 2rem; } @include xs { bottom: 1rem; right: 1rem; } a { width: 56px; display: block; transition: 0.3s; @include xs { width: 40px; } } a:hover { transform: scale(1.1); } }