/* ==================================================== Base style & container ==================================================== */ html { font-size: 1; } body { color: #333333; font-family: $font-gothic; @include f14; letter-spacing: 0.02em; font-weight: $fwM; -webkit-font-smoothing: antialiased; line-height: normal; background: #F3F3EF; overflow: hidden; &.bg--yellow { background: #f7f6d2; } } p { line-height: 180%; } a{ color: #0c8a41; @include mq(md-min) { &.rollover, &:hover { @include hover(0.7); } } &:visited { color: #666666; } } img{ max-width: 100%; height: auto; vertical-align: middle; pointer-events: none; } figure { margin: 0; } .inner { margin: 0 auto; max-width: 1280px; padding: 0 20px; @include mq(md) { padding: 0 15px; } &--min { max-width: 960px; margin: 0 auto; @include mq(md) { padding: 0 15px; } } } .wrapper { } .pc { @include mq() { display: none !important; } } .sp { @include mq(md-min) { display: none !important; } } i { font-style: normal; } .d-none { display: none !important; } /* ==================================================== Float & clear ==================================================== */ .clearfix { *zoom: 1; &:before { content: ""; display: table; } &:after { clear: both; content: ""; display: table; } } /* ==================================================== column layout ==================================================== */ /* column2--layout */ .column2--layout { display: grid; grid-template-columns: repeat(2, 1fr); } /* column3--layout */ .column3--layout { display: grid; grid-template-columns: repeat(3, 1fr); } /* column4--layout */ .column4--layout { display: grid; grid-template-columns: repeat(4, 1fr); } .jc-space-between { justify-content: space-between; } .ai--center { align-items: center; } /* ==================================================== float layout ==================================================== */ .left { float: left; } .right { float: right; } .ofh { overflow: hidden; } /* ==================================================== section ==================================================== */ .sec { @include mq(md-min) { padding: 80px 0 0; } @include mq(md) { padding: 35px 0 0; } &:last-of-type { @include mq(md-min) { padding-bottom: 80px; } @include mq(md) { padding-bottom: 35px; } } } /* ==================================================== Header ==================================================== */ .header { @include mq(md) { background: #fff !important; } .head { &--inner { display: table; width: 100%; } &--logo, &--cont { display: table-cell; vertical-align: middle; } &--logo { @include mq(md-min) { width: 265px; } @include mq(md) { height: 28px; img { height: 28px; } } } &--cont { @include mq(md-min) { padding: 14px 0 12px; } .head--top { display: flex; align-items: center; justify-content: flex-end; .head--info { @include mq(md) { display: none; } span { @include f23; font-weight: $fwB; } } .head--background { display: flex; align-items: center; @include mq(md-min) { padding-left: 1.95%; } @include mq(md) { display: none; } li { @include mq(md-min) { padding-left: 15px; } } .active_color--gray, .active_color--yellow { display: flex; align-items: center; &:hover { cursor: pointer; } &:before { content: ""; display: block; width: 28px; height: 28px; border: 1px solid #0C8A41; border-radius: 4px; margin-right: 7px; } } .active_color--gray:before { background: #f3f3ef; } .active_color--yellow:before { background: #f7f6d2; } } } .head--background { li { display: inline-block; } } .head--nav { @include mq(md-min) { padding-top: 15px; } @include mq(md) { display: flex; justify-content: flex-end; align-items: flex-end; } nav { @include mq(md-min) { display: flex; justify-content: flex-end; align-items: flex-end; } @include mq(md) { position: absolute; top: 0; left: 100vw; width: 100vw; padding: 45px 15px 35px; background: #fff; @include smooth-transition; &.active { left: 0vw; } } .sp.txt--center { position: relative; width: 50%; margin: -30px auto 30px; } ul { display: grid; grid-template-columns: repeat(2, 1fr); @include mq(md-min) { grid-template-columns: repeat(4, 1fr); } @include mq(md) { margin-bottom: 20px; } li { @include mq(md) { position: relative; border-bottom: 1px solid #0C8A41; &:nth-child(odd) { border-right: 1px solid #0C8A41; &:after { content: ""; display: block; position: absolute; bottom: -6px; right: -6px; z-index: 2; width: 12px; height: 12px; background: #fff; } } &:nth-child(5), &:nth-child(6) { border-bottom: 0; } } a { position: relative; text-decoration: none; display: inline-block; text-align: center; font-weight: $fwB; color: #333; opacity: 1; @include mq(md) { padding: 24px 0; } &:hover { color: #0C8A41; opacity: 1 !important; } &:before { content: ""; display: block; margin: 0 auto; background-repeat: no-repeat; background-position: center center; width: 48px; height: 36px; @include smooth-transition; @include mq(md) { width: 56px; height: 45px; } } span { &:after { content: ""; display: block; width: 1%; height: 3px; margin: auto; background: transparent; @include smooth-transition; position: absolute; bottom: -5px; left: 0; right: 0; } } &:hover { span { &:after { width: 100%; background: #0C8A41; } } } } &.icn--family { a { &:before { background-image: url(../images/common/icn_family.svg); } &:hover { &:before { background-image: url(../images/common/icn_family_on.svg); } } } } &.icn--supporter { a { &:before { background-image: url(../images/common/icn_supporter.svg); } &:hover { &:before { background-image: url(../images/common/icn_supporter_on.svg); } } } } &.icn--contact { a { &:before { background-image: url(../images/common/icn_contact.svg); } &:hover { &:before { background-image: url(../images/common/icn_contact_on.svg); } } } } &.icn--useful { a { &:before { background-image: url(../images/common/icn_useful.svg); } &:hover { &:before { background-image: url(../images/common/icn_useful_on.svg); } } } } &.icn--training, &.icn--brochure { @include mq(md-min) { display: none; } } } } &.active { ul { li { a { color: #0c8a41; display: block; } &.icn--family a:before { background-image: url(../images/common/icn_family_on.svg); } &.icn--supporter a:before { background-image: url(../images/common/icn_supporter_on.svg); } &.icn--contact a:before { background-image: url(../images/common/icn_contact_on.svg); } &.icn--useful a:before { background-image: url(../images/common/icn_useful_on.svg); } &.icn--training a:before { background-image: url(../images/common/icn_training_on.svg); background-size: 47.5px 42px; } &.icn--brochure a:before { background-image: url(../images/common/icn_brochure_on.svg); background-size: 31px 43.5px; } span:after { display: none; } } } } .sp--menu--info { display: block; text-align: center; padding-bottom: 10px; @include mq(md-min) { display: none; } .site--name { font-size: 1.3125rem; font-weight: $fwB; line-height: 130%; } .site--tel { span { display: inline-block; @include f32; font-weight: $fwB; line-height: 130%; padding: 10px 0; } } } .head--contact { @include mq(md-min) { padding-left: 3.91%; } } } .sp--info { display: block; padding-right: 45px; @include mq(md-min) { display: none; } ul { display: grid; grid-template-columns: repeat(2, 45px); } } } } } &.is-fixed { position: fixed; width: 100%; top: 0; z-index: 10; } } .btn--sp { display: none; @include mq(md) { display: block; width: 40px; height: 40px; position: absolute; top: 50%; right: 11px; transform: translateY(-50%); z-index: 2; span { display: block; width: 18px; height: 2px; background: #333333; position: absolute; right: 50%; transform: translateX(50%); -moz-transition-duration: 0.3s; -o-transition-duration: 0.3s; -webkit-transition-duration: 0.3s; &.top { top: 8px; } &.middle { top: 14px; &:after { content: "MENU"; display: block; text-align: center; font-size: 0.6875rem; font-weight: $fwB; position: absolute; top: 20px; left: -50%; transform: translateY(-50%); } } &.bottom { top: 20px; } } &.close { span.top { transform: translateX(50%) rotate(45deg); top: 15px } span.middle { background: transparent; } span.bottom { transform: translateX(50%) rotate(-45deg); top: 15px } } } } body { header.is-fixed { background: #f3f3ef; } &.bg--yellow { header.is-fixed { background: #f7f6d2; } } } /* ==================================================== Footer ==================================================== */ .footer { position: relative; border-top: 3px solid #0C8A41; padding: 23px 0 37px; @include mq(md-min) { padding: 33px 0 70px; margin-top: 20px; } .inner { display: flex; justify-content: space-between; align-items: center; } .foot--info { .name { @include f18; font-weight: $fwB; } .address { padding-bottom: 23px; @include mq(md-min) { padding-bottom: 38px; } } } .foot--nav { @include mq(md) { display: none; } nav { display: flex; justify-content: space-between; align-items: flex-end; ul { &:not(:first-of-type) { padding-left: 45px; } li { margin-bottom: 15px; a { font-weight: $fwB; text-decoration: none; } } } } } } .copy { background: #0C8A41; text-align: center; @include f10; color: #fff; padding: 5px 15px; @include mq(md-min) { @include f12; padding: 20px 20px; } } .pagetop { display: none; position: fixed; bottom: 0; right: 20px; z-index: 10; padding-bottom: 20px; @include mq(md) { width: 36px; height: 56px; right: 15px; } } /* ==================================================== Content-common ==================================================== */ .container { display: block; position: relative; width: 100%; margin: 0 auto; z-index: 0; @include mq(md-min) { max-width: 1680px; } }