italia2024
Version:
Italia 2024 assets
1,016 lines (890 loc) • 23.9 kB
CSS
@charset "UTF-8";
:root {
/* Root設定 */
font-family: "Georama", sans-serif;
font-size: 100%;
/* 1rlh = 14px(@media: w360px)〜 16px(@media: w1000px) */
line-height: clamp(0.875pc, 0.875pc + (1vw - 0.225pc) * 0.3125, 1pc);
/* 1ls(line-spacing/行間) */
--1ls: calc(1lh - 1em);
--0\.5ls: calc((1lh - 1em) * 0.5);
/* Base */
--lh-base: clamp(1.66em, calc(1.66em + ((1vw - 0.225em) * 0.55)), 1.88em);
--lts-base: clamp(0.01em, calc(0.01em + ((1vw - 0.225em) * 0.05)), 0.03em);
--fz-base: clamp(14px, calc(14px + ((1vw - 3.6px) * 0.1563)), 15px);
--fw-base: 400;
/* Fluid-fractional rem(可変rem):例)calc(var(--⅓fem) * 3) */
--⅞fem: clamp(14px, calc(14px + ((1vw - 3.6px) * 0.3125)), 16px);
--⅚fem: clamp(13.3px, calc(13.3px + ((1vw - 3.6px) * 0.4172)), 16px);
--⅘fem: clamp(12.8px, calc(12.8px + ((1vw - 3.6px) * 0.5)), 16px);
--¾fem: clamp(12px, calc(12px + ((1vw - 3.6px) * 0.625)), 16px);
--⅔fem: clamp(10.6px, calc(10.6px + ((1vw - 3.6px) * 0.8438)), 16px);
--⅝fem: clamp(10px, calc(10px + ((1vw - 3.6px) * 0.9375)), 16px);
--⅗fem: clamp(9.6px, calc(9.6px + ((1vw - 3.6px) * 1)), 16px);
--½fem: clamp(8px, calc(8px + ((1vw - 3.6px) * 1.25)), 16px);
--⅖fem: clamp(6.4px, calc(6.4px + ((1vw - 3.6px) * 1.5)), 16px);
--⅜fem: clamp(6px, calc(6px + ((1vw - 3.6px) * 1.5625)), 16px);
--⅓fem: clamp(5.3px, calc(5.3px + ((1vw - 3.6px) * 1.6719)), 16px);
--¼fem: clamp(4px, calc(4px + ((1vw - 3.6px) * 1.875)), 16px);
--⅕fem: clamp(3.2px, calc(3.2px + ((1vw - 3.6px) * 2)), 16px);
--⅙fem: clamp(2.6px, calc(2.6px + ((1vw - 3.6px) * 2.0938)), 16px);
--⅛fem: clamp(2px, calc(2px + ((1vw - 3.6px) * 2.1875)), 16px);
/* Fluid-Magnificational rem(スマホの方が大きい):例)calc(var(x1\.33fem) * 1) */
--x1\.2fem: clamp(16px, calc(19.2px + ((1vw - 3.6px) * -0.5)), 19.2px);
--x1\.25fem: clamp(16px, calc(20px + ((1vw - 3.6px) * -0.625)), 20px);
--x1\.33fem: clamp(16px, calc(21.3px + ((1vw - 3.6px) * -0.8281)), 21.3px);
--x1\.5fem: clamp(16px, calc(24px + ((1vw - 3.6px) * -1.25)), 24px);
--x2fem: clamp(16px, calc(32px + ((1vw - 3.6px) * -2.5)), 32px);
--x3fem: clamp(16px, calc(48px + ((1vw - 3.6px) * -5)), 48px);
--x4fem: clamp(16px, calc(64px + ((1vw - 3.6px) * -7.5)), 64px);
/* Root font-size */
--fz-xxxs: clamp(10px, calc(10px + ((1vw - 3.6px) * 0.1563)), 11px);
--fz-xxs: clamp(11px, calc(11px + ((1vw - 3.6px) * 0.1563)), 12px);
--fz-xs: clamp(12px, calc(12px + ((1vw - 3.6px) * 0.1563)), 13px);
--fz-sm: clamp(13px, calc(13px + ((1vw - 3.6px) * 0.1563)), 14px);
--fz-ss: clamp(14px, calc(14px + ((1vw - 3.6px) * 0.1563)), 15px);
--fz-rg: clamp(15px, calc(15px + ((1vw - 3.6px) * 0.1563)), 16px);
--fz-md: clamp(15.3px, calc(15.3px + ((1vw - 3.6px) * 0.26563)), 17px);
--fz-sl: clamp(15.6px, calc(15.6px + ((1vw - 3.6px) * 0.375)), 18px);
--fz-ml: clamp(16px, calc(16px + ((1vw - 3.6px) * 0.4688)), 19px);
--fz-lg: clamp(16.4px, calc(16.4px + ((1vw - 3.6px) * 0.7188)), 21px);
--fz-xl: clamp(16.8px, calc(16.8px + ((1vw - 3.6px) * 1.125)), 24px);
--fz-xxl: clamp(17.6px, calc(17.6px + ((1vw - 3.6px) * 1.4687)), 27px);
--fz-xxxl: clamp(18.2px, calc(18.2px + ((1vw - 3.6px) * 1.8438)), 30px);
--fz-sol: clamp(19.7px, calc(19.7px + ((1vw - 3.6px) * 2.0781)), 33px);
--fz-ol: clamp(21.2px, calc(21.2px + ((1vw - 3.6px) * 2.3125)), 36px);
--fz-xol: clamp(22.6px, calc(22.6px + ((1vw - 3.6px) * 2.5625)), 39px);
--fz-xxol: clamp(24px, calc(24px + ((1vw - 3.6px) * 2.8125)), 42px);
--fz-xxxol: clamp(25.4px, calc(25.4px + ((1vw - 3.6px) * 3.0625)), 45px);
--fz-skl: clamp(26.7px, calc(26.7px + ((1vw - 3.6px) * 3.3281)), 48px);
--fz-kl: clamp(27.9px, calc(27.9px + ((1vw - 3.6px) * 3.6094)), 51px);
--fz-xkl: clamp(29.2px, calc(29.2px + ((1vw - 3.6px) * 3.875)), 54px);
--fz-xxkl: clamp(30.4px, calc(30.4px + ((1vw - 3.6px) * 4.1563)), 57px);
--fz-xxxkl: clamp(31.6px, calc(31.6px + ((1vw - 3.6px) * 4.4375)), 60px);
--fz-sgl: clamp(32.7px, calc(32.7px + ((1vw - 3.6px) * 4.7344)), 63px);
--fz-gl: clamp(33.8px, calc(33.8px + ((1vw - 3.6px) * 5.0313)), 66px);
--fz-xgl: clamp(34.9px, calc(34.9px + ((1vw - 3.6px) * 5.3281)), 69px);
--fz-xxgl: clamp(36px, calc(36px + ((1vw - 3.6px) * 5.625)), 72px);
--fz-xxxgl: clamp(37px, calc(37px + ((1vw - 3.6px) * 5.9375)), 75px);
--fz-shl: clamp(38px, calc(38px + ((1vw - 3.6px) * 6.25)), 78px);
--fz-hl: clamp(39px, calc(39px + ((1vw - 3.6px) * 6.5625)), 81px);
--fz-xhl: clamp(40px, calc(40px + ((1vw - 3.6px) * 6.875)), 84px);
--fz-xxhl: clamp(40.9px, calc(40.9px + ((1vw - 3.6px) * 7.2031)), 87px);
--fz-xxxhl: clamp(41.9px, calc(41.9px + ((1vw - 3.6px) * 7.5156)), 90px);
--fz-sul: clamp(42.8px, calc(42.8px + ((1vw - 3.6px) * 7.8438)), 93px);
--fz-ul: clamp(43.6px, calc(43.6px + ((1vw - 3.6px) * 8.1875)), 96px);
--fz-xul: clamp(44.5px, calc(44.5px + ((1vw - 3.6px) * 8.5156)), 99px);
--fz-xxul: clamp(45.3px, calc(45.3px + ((1vw - 3.6px) * 8.8594)), 102px);
--fz-xxxul: clamp(46.2px, calc(46.2px + ((1vw - 3.6px) * 9.1875)), 105px);
--fz-smgl: clamp(47px, calc(47px + ((1vw - 3.6px) * 9.5313)), 108px);
--fz-mgl: clamp(47.7px, calc(47.7px + ((1vw - 3.6px) * 9.8906)), 111px);
--fz-xmgl: clamp(48.5px, calc(48.5px + ((1vw - 3.6px) * 10.2344)), 114px);
--fz-xxmgl: clamp(49.3px, calc(49.3px + ((1vw - 3.6px) * 10.5781)), 117px);
--fz-xxxmgl: clamp(50px, calc(50px + ((1vw - 3.6px) * 10.9375)), 120px);
}
html {
height: 100%;
min-height: 0vw;
}
/* リセット */
body {
font-stretch: initial;
font-size-adjust: initial;
}
.magique {
position: relative;
z-index: 0;
width: 100%;
height: 100%;
/* 基本設定 */
line-height: var(--lh-base);
letter-spacing: var(--lts-base);
font-size: var(--fz-base);
font-weight: var(--fw-base, 400);
background: var(--c-base, hsl(223, 0%, 100%));
color: var(--c-text, hsl(223, 0%, 18%));
/* スマホを横向きにしても文字が大きくならない */
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
/* IEで疑似要素を表示させる用 */
font-kerning: normal;
font-variant-ligatures: common-ligatures contextual;
text-rendering: optimizeLegibility;
/* 役物の字詰めを綺麗にする */
font-feature-settings: "kern", "clig", "calt", "palt";
/* 文章の折り返し指定 */
overflow-wrap: anywhere;
word-break: normal;
line-break: strict;
}
/* スマホではスクロールバー非表示 */
@media screen and (max-width: 743.9px) {
body {
scrollbar-width: none;
}
body::-webkit-scrollbar {
display: none;
}
}
/* タブレット */
body.tablet {
min-width: 1200px;
}
/* SP(360px未満) */
body.mobile.small {
min-width: 360px;
}
/* bodyがスクロールバーでズレないようにする(PC) */
@media print, screen and (min-width: 744px) {
body,
body.magique.ov-hidden {
overflow-y: scroll;
}
}
/* .marble(総囲い)
-------------------------------------- */
.marble {
position: relative;
width: 100%;
height: auto;
min-height: 100vh;
overflow: hidden;
}
.marble::before,
.marble::after {
content: "";
display: block;
width: 100%;
height: 100vh;
background: #FFF;
pointer-events: none;
}
.marble::after {
position: fixed;
z-index: 20000;
inset: 0;
margin: auto;
transition: all 2s ease-out 0.3s;
}
.marble.is-loaded::before {
height: 0;
}
.marble.is-loaded::after {
opacity: 0;
}
/* #overload(遷移ホワイトアウト用) */
#overload {
position: fixed;
z-index: 20000;
inset: 0;
margin: auto;
display: block;
width: 100%;
height: 100vh;
background: #FFF;
pointer-events: none;
opacity: 0;
}
#overload.is-whiteOut {
opacity: 1;
transition: opacity 0.7s;
}
:root {
/* Body用 Root設定 */
--ff-gothic: "YakuHanJP", "Hanken Grotesk", "Noto Sans JP", sans-serif;
--ff-mincho: "YakuHanMP", "Shippori Mincho", serif;
--ff-rounded: "YakuHanRP", "M PLUS Rounded 1c", sans-serif;
--ff-sans: "YakuHanJP", "Onest", "Noto Sans JP", sans-serif;
--ff-serif: "YakuHanJP", "Cinzel", "Noto Sans JP", sans-serif;
}
/* font-family
-------------------------------------- */
/* ベース、ゴシック体 */
body,
:lang(ja-GP) {
font-family: var(--ff-gothic);
}
:lang(ja-HankenGP) {
font-family: "YakuHanJP", "Hanken Grotesk", "Noto Sans JP", sans-serif;
}
:lang(ja-PoppinsGP) {
font-family: "YakuHanJP", "Poppins", "Noto Sans JP", sans-serif;
}
/* ゴシック体/等幅 */
:lang(ja-Mono),
:lang(ja-NotoMono) {
font-family: "Noto Sans Mono CJK JP", monospace;
}
/* ゴシック体/縦書き */
:lang(ja-VG),
:lang(ja-GenShinVG) {
font-family: "YakuHanJP", "Gen Shin Gothic", sans-serif;
}
/* ゴシック体/その他 */
:lang(ja-NotoGP) {
font-family: "YakuHanJP", "Noto Sans", "Noto Sans JP", sans-serif;
}
:lang(ja-BizUdpGP) {
font-family: "YakuHanJP", "BIZ UDPGothic", sans-serif;
}
:lang(ja-ZenKakuAntiqGP) {
font-family: "YakuHanJP", "Zen Kaku Gothic Antique", sans-serif;
}
:lang(ja-MPlus1GP) {
font-family: "YakuHanJP", "M PLUS 1", sans-serif;
}
/* 明朝体 */
:lang(ja-MP) {
font-family: var(--ff-mincho);
font-weight: 600;
}
:lang(ja-ShipporiMP) {
font-family: "YakuHanMP", "Shippori Mincho", serif;
font-weight: 600;
}
:lang(ja-LusitanaMP) {
font-family: "YakuHanMP", "Lusitana", "Shippori Mincho", serif;
font-weight: 600;
}
:lang(ja-NotoMP) {
font-family: "YakuHanMP", "Noto Serif", "Noto Serif JP", serif;
font-weight: 600;
}
/* 丸文字 + ジャギ防止 */
:lang(ja-RP) {
font-family: var(--ff-rounded);
transform: rotate(0.03deg);
}
:lang(ja-MPlus1RP) {
font-family: "YakuHanRP", "M PLUS Rounded 1c", sans-serif;
transform: rotate(0.03deg);
}
:lang(ja-LINESeedRP) {
font-family: "YakuHanRP", "LINE Seed JP_OTF", sans-serif;
}
:lang(ja-MoboRP).fw-200 {
font-family: "YakuHanRP", "モボ-ExtraLight", sans-serif;
}
:lang(ja-MoboRP) {
font-family: "YakuHanRP", "モボ-Regular", sans-serif;
}
:lang(ja-MoboRP).fw-600 {
font-family: "YakuHanRP", "モボ-SemiBold", sans-serif;
}
:lang(ja-MoboRP).fw-700 {
font-family: "YakuHanRP", "モボ-Bold", sans-serif;
}
:lang(ja-ShinRetroRP) {
font-family: "YakuHanRP", "Shin Retro Maru Gothic", sans-serif;
}
/* 数字用 */
:lang(en-Num),
:lang(en-Roboto) {
font-family: "YakuHanJP", "Roboto", "Noto Sans JP", sans-serif;
}
:lang(en-Jomolhari) {
font-family: "YakuHanMP", "Jomolhari", "Noto Serif JP", serif;
}
:lang(en-Adamina) {
font-family: "YakuHanMP", "Adamina", "Noto Serif JP", serif;
}
/* サンセリフ体 */
:lang(en-GP) {
font-family: "YakuHanJP", var(--ff-sans);
}
:lang(en-SourceSans) {
font-family: "YakuHanJP", "Source Sans Pro", "Noto Sans JP", sans-serif;
}
:lang(en-Overused) {
font-family: "YakuHanJP", "Overused Grotesk", "Noto Sans JP", sans-serif;
}
:lang(en-Montserrat) {
font-family: "YakuHanJP", "Montserrat", "Noto Sans JP", sans-serif;
}
:lang(en-Jost) {
font-family: "YakuHanJP", "Jost", "Noto Sans JP", sans-serif;
}
:lang(en-Onest) {
font-family: "YakuHanJP", "Onest", "Noto Sans JP", sans-serif;
}
:lang(en-RobotoFlex) {
font-family: "YakuHanJP", "Roboto Flex", "Noto Sans JP", sans-serif;
}
:lang(en-KumbhSans) {
font-family: "YakuHanJP", "Kumbh Sans", "Noto Sans JP", sans-serif;
}
:lang(en-Hind) {
font-family: "YakuHanJP", "Hind", "Noto Sans JP", sans-serif;
}
:lang(en-Raleway) {
font-family: "YakuHanJP", "Raleway", "Noto Sans JP", sans-serif;
}
:lang(en-GothicA1) {
font-family: "YakuHanJP", "Gothic A1", "Noto Sans JP", sans-serif;
}
:lang(en-Outfit) {
font-family: "YakuHanJP", "Outfit", "Noto Sans JP", sans-serif;
}
/* Condensed */
:lang(en-CN),
:lang(en-RobotoCN) {
font-family: "YakuHanJP", "Roboto Condensed", sans-serif;
}
:lang(en-Dinish) {
font-family: "YakuHanJP", "Dinish", "Noto Sans JP", sans-serif;
}
:lang(en-DinishCN) {
font-family: "YakuHanJP", "Dinish Condensed", "Noto Sans JP", sans-serif;
}
:lang(en-DiDin) {
font-family: "YakuHanJP", "D-DIN-PRO", "Noto Sans JP", sans-serif;
}
:lang(en-TeXGyreCN) {
font-family: "YakuHanJP", "TeX Gyre Heros Cn", sans-serif;
}
:lang(en-OswaLla) {
font-family: "YakuHanJP", "Oswald", "Fjalla One", sans-serif;
}
:lang(en-OswaShar) {
font-family: "YakuHanJP", "Oswald", "Akshar", sans-serif;
}
:lang(en-BebasNeue) {
font-family: "YakuHanJP", "Bebas Neue", sans-serif;
}
:lang(en-BarlowCN) {
font-family: "YakuHanJP", "Barlow Condensed", sans-serif;
}
/* セリフ体 */
:lang(en-MP) {
font-family: var(--ff-serif);
}
/* セリフ体/記号のみ */
:lang(en-SymMP) {
font-family: "YakuHanMP", "Noto Serif Symbolic", "Shippori Mincho", serif;
}
/* セリフ体(その他) */
:lang(en-SourceSerif) {
font-family: "YakuHanMP", "Source Serif Pro", "Noto Serif JP", serif;
}
:lang(en-Cinzel) {
font-family: "YakuHanMP", "Cinzel", "Noto Serif JP", serif;
}
:lang(en-FrankLibre) {
font-family: "YakuHanMP", "Frank Ruhl Libre", "Noto Serif JP", serif;
}
:lang(en-LibreBaske) {
font-family: "YakuHanMP", "Libre Baskerville", "Noto Serif JP", serif;
}
:lang(en-LibreBodoni) {
font-family: "YakuHanMP", "Libre Bodoni", "Noto Serif JP", serif;
}
:lang(en-LibreCaslon) {
font-family: "YakuHanMP", "Libre Caslon Display", "Libre Caslon Text", "Noto Serif JP", serif;
}
:lang(en-Crimson) {
font-family: "YakuHanMP", "Crimson Text", "Noto Serif JP", serif;
}
:lang(en-Cormorant) {
font-family: "YakuHanMP", "Cormorant Infant", "Cormorant Garamond", "Noto Serif JP", serif;
}
:lang(en-PrataFair) {
font-family: "YakuHanMP", "Prata", "Playfair Display", "Noto Serif JP", serif;
}
:lang(en-Cardo) {
font-family: "YakuHanMP", "Cardo", "Noto Serif JP", serif;
}
:lang(en-Marcellus) {
font-family: "YakuHanMP", "Marcellus", "Noto Serif JP", serif;
}
/* 筆記体 */
:lang(en-Curs),
:lang(en-Dancing) {
font-family: "YakuHanMP", "Dancing Script", "Noto Serif JP", cursive;
}
/* プログラミングフォント */
:lang(ja-Code),
:lang(ja-HackGen) {
font-family: "HackGen", monospace;
}
/* 記号用フォント */
:lang(ja-Sym),
:lang(ja-NanumSym) {
font-family: "Nanum Gothic", monospace;
}
/* Reset
-------------------------------------- */
/* border-box */
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
border-width: 0;
}
/* 要素を不可視にする */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
border: 0;
clip-path: polygon(0 0, 0 0, 0 0, 0 0);
}
/* タグリセット(IE対策) */
article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
box-sizing: border-box;
display: block;
margin: 0;
padding: 0;
font-size: 100%;
}
/* リスト系タグのリセット */
dl,
dt,
dd,
ul,
ol,
li,
menu,
menuitem {
margin: 0;
padding: 0;
font-style: normal;
font-weight: unset;
list-style-type: none;
}
/* テーブルタグのリセット */
th,
td {
margin: 0;
padding: 0;
font-style: normal;
font-weight: unset;
text-decoration: none;
vertical-align: middle;
}
/* 画像系タグのリセット */
img,
picture,
iframe,
embed,
video,
svg,
img[src$=".svg"] {
display: inline-block;
max-width: 100%;
vertical-align: middle;
background-repeat: no-repeat;
background-size: cover;
shape-margin: 0.75pc;
object-fit: cover;
}
picture {
overflow: hidden;
}
/* svg:非表示(フィルター) */
.svg-filter {
visibility: hidden;
position: absolute;
width: 0;
height: 0;
overflow: hidden;
}
/* inline-block */
i {
display: inline-block;
margin: 0;
padding: 0;
font-style: normal;
text-decoration: none;
}
/* 斜体 */
i.italic {
font-style: italic;
}
/* 改行タグのリセット */
br,
wbr {
font-size: 0;
}
/* 区切り(水平線)タグのリセット */
hr {
margin: 0;
padding: 0;
height: 0;
border: 0;
overflow: visible;
}
/* 文章系タグのリセット */
p,
small,
em,
strong,
span,
s,
b,
u,
dfn,
abbr,
data,
time,
bdi,
bdo,
address {
margin: 0;
padding: 0;
font-weight: unset;
font-style: normal;
text-decoration: none;
}
/* 数式系タグのリセット */
math,
mtext,
mn,
mi,
mo,
mspace,
msup,
msub,
msubsup,
mover,
munder {
margin: 0;
padding: 0;
font-style: normal;
font-weight: unset;
text-decoration: none;
white-space: nowrap;
}
math {
/* Flex */
display: inline-flex;
justify-content: center;
align-items: center;
}
/* .strike(取り消し線) */
s.strike {
position: relative;
text-decoration: line-through;
text-decoration-style: solid;
text-decoration-color: var(--c-error);
text-decoration-thickness: 1px;
}
/* .underline(下線) */
u.underline {
display: inline;
text-decoration: underline solid hsl(0, 0%, 46%);
-webkit-text-decoration: underline solid hsl(0, 0%, 46%);
text-decoration-thickness: 1px;
text-underline-offset: 5px;
}
/* マーカー(inline) */
mark {
background-image: linear-gradient(90deg, hsla(60, 96%, 79%, 0.7), hsla(60, 96%, 93%, 0.7));
background-repeat: no-repeat;
background-position: bottom;
background-size: 100% 100%;
}
/* ルビ */
ruby,
rb,
rt,
rp {
margin: 0;
padding: 0;
font-style: normal;
text-decoration: none;
}
/* 句読点 */
ins,
del {
margin: 0;
padding: 0;
font-style: normal;
text-decoration: none;
}
/* 引用(BOX) */
blockquote {
margin: 0;
padding: 0;
background: #ebebeb;
}
/* 引用,疑似要素 */
q {
display: inline-block;
margin: 0;
padding: 0;
font-style: normal;
text-decoration: none;
}
q::before,
q::after {
content: "";
}
/* 引用 */
q.quote {
background: #ebebeb;
}
/* コード系タグのリセット */
code,
kbd,
pre,
samp {
font-family: "HackGen", "PlemolJP", monospace;
}
code {
padding: 2px 4px;
background: #f2f4f5;
color: var(--c-text);
}
pre > code {
display: inline-block;
}
/* summaryの三角消去 */
details,
summary {
margin: 0;
padding: 0;
list-style: none;
}
details summary::marker,
summary::-webkit-details-marker {
display: none;
}
.magique .ie summary::before {
content: "" ;
}
details summary:focus {
outline: none;
}
details summary:focus {
outline: none;
}
/* contenteditableのアウトライン消去 */
[contenteditable]:focus {
outline: none;
}
/* a(link)
-------------------------------------- */
a {
margin: 0;
padding: 0;
display: inline-block;
vertical-align: middle;
text-decoration: none;
color: inherit;
transition: all 0.3s ease-in;
}
:is([href], [onclick]),
:is([href], [onclick])::before,
:is([href], [onclick])::after {
transition: all 0.3s ease-in;
}
/* :is(:hover, :focus) */
@media (any-hover: hover) {
:is([href], [onclick]):is(:hover, :focus) {
opacity: 0.7;
}
:is([href], [onclick]):is(:active) {
opacity: 1;
}
}
/* PCのときは電話リンク無効 */
@media screen and (min-width: 744px) {
a[href^="tel:"] {
display: inline-block;
pointer-events: none;
cursor: none;
}
}
/* cite>a(参照元) */
cite {
margin: 0;
padding: 0;
font-style: normal;
}
cite > :is([href], [onclick]) {
position: relative;
text-decoration: underline;
text-decoration-style: solid;
text-decoration-thickness: 1px;
text-underline-offset: 5px;
text-decoration-color: var(--c-cassis);
color: var(--c-cassis);
}
/* :hover */
@media (any-hover: hover) {
cite > :is([href], [onclick]):is(:hover, :focus) {
color: var(--c-cassis-l1);
text-decoration-color: var(--c-cassis-l1);
}
cite > :is([href], [onclick]):is(:active) {
text-decoration-color: var(--c-cassis);
color: var(--c-cassis);
}
}
/* a:_blank */
cite > a[target=_blank] {
padding-right: 2.2em;
}
cite > a[target=_blank]::after {
position: absolute;
top: 0.45em;
right: 0;
display: flex;
justify-content: center;
align-items: center;
width: 1.3em;
height: 0;
font-size: 169%;
/* Material Symbols */
font-family: "Material Symbols Sharp";
font-variation-settings: "FILL" 0, "wght" 300;
content: "\e89e";
color: var(--c-gray-500);
text-decoration: none;
}
/* a:PDF */
cite > a[href$=".pdf"] {
padding-right: 2.2em;
}
cite > a[href$=".pdf"]::after {
position: absolute;
top: 0.45em;
right: 0;
display: flex;
justify-content: center;
align-items: center;
width: 1.3em;
height: 0;
font-size: 169%;
/* Material Symbols */
font-family: "Material Symbols Sharp";
font-variation-settings: "FILL" 0, "wght" 300;
content: "\e415";
color: var(--c-red-700);
text-decoration: none;
}
/* フォーム:テキスト系タグのリセット
-------------------------------------- */
:is(select,
textarea,
input[type=text],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week]) {
appearance: none;
width: 100%;
max-width: 100%;
border: 1px solid hsl(233, 13%, 84%);
border-radius: 2px;
background: var(--c-base);
box-shadow: inset 0 1px 1px hsla(0, 0%, 0%, 0.075);
color: hsla(0, 0%, 0%, 0.7);
font-size: var(--fz-ss);
line-height: 1.5;
}
select {
height: calc(2.5em + 2px);
padding: 0.45em 0.75em;
}
textarea {
height: auto;
padding: calc(0.45em - 1.5px) 0.5em;
}
:is(input[type=text],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week]) {
height: calc(2.5em + 2px);
padding: 0.45em 0.75em;
}
/* :placeholder-shown */
select.placeholder-shown,
:is(textarea,
input[type=text],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week]):placeholder-shown {
background: var(--c-secondary-100);
color: hsla(0, 0%, 0%, 0.26);
}
/* :focus */
select:focus,
:is(textarea,
input[type=text],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week]):focus {
background: var(--c-base);
}
/* ::placeholder
-------------------------------------- */
:is(textarea, input)::-moz-placeholder {
color: rgba(0, 0, 0, 0.26);
}
:is(textarea, input)::-webkit-input-placeholder {
color: rgba(0, 0, 0, 0.26);
}
/* ::placeholder:focus */
:is(textarea, input):focus::-moz-placeholder {
color: transparent;
}
:is(textarea, input):focus::-webkit-input-placeholder {
color: transparent;
}
/* フォーム:ボタン系タグのリセット
-------------------------------------- */
button {
appearance: none;
margin: 0;
padding: 0;
color: inherit;
border: none;
outline: none;
background: none;
}