Your s is a list of lists: you had better get rid of the outer list. Moreover, your fn contains already x implicitly: do not add the extra x in fn[x]. The following code works:
s = NDSolve[{Derivative[1][g][
t] == -(2.3*10^-18)*(0.000085` g[t]^6 + 0.3` g[t]^5 +
0.7` g[t]^2)^0.5`, g[0] == 10^50},
g, {t, 0, 2.3*10^18}][[1]]
fn = Integrate[(g[t] /. s), {t, x, 2.3*10^18}]
Plot[Evaluate[g[x] /. s], {x, 0, 10^18}, PlotRange -> All]
Plot[fn, {x, 0, 2.3*10^18}, PlotRange -> All]
ParametricPlot[Evaluate[{(g[x] /. s) - 1, fn}], {x, 0, 2.3*10^18},
PlotRange -> All]
However, I would rather use NDSolveValue and avoid those Evaluate and replacements:
Clear[x, t, g, fn];
g = NDSolveValue[{g'[
t] == -(2.3*10^-18)*(0.000085` g[t]^6 + 0.3` g[t]^5 +
0.7` g[t]^2)^0.5`, g[0] == 10^50}, g, {t, 0, 2.3*10^18}]
fn[x_] := Integrate[g[t], {t, x, 2.3*10^18}]
Plot[g[x], {x, 0, 10^18}, PlotRange -> All]
Plot[fn[x], {x, 0, 2.3*10^18}, PlotRange -> All]
ParametricPlot[{g[x] - 1, fn[x]}, {x, 0, 2.3*10^18}, PlotRange -> All,
AspectRatio -> 1]